|
1 / 1 / 0
Регистрация: 29.10.2017
Сообщений: 102
|
||||||
PyQt4 Объясните пожалуйста работу этого кода02.11.2017, 14:49. Показов 3707. Ответов 17
Метки нет (Все метки)
0
|
||||||
| 02.11.2017, 14:49 | |
|
Ответы с готовыми решениями:
17
Объясните пожалуйста работу этого кода
|
|
|
|
| 02.11.2017, 15:44 | |
Сообщение было отмечено RonaxIT как решение
Решение
Создаём класс, потомок QtGui.QMainWindow. Роль form_class неясна.
Как обычно, вызываем конструктор суперкласса - QtGui.QMainWindow.__init__(self, parent) self.setupUi(self) - создаём все графические элементы в этом экземпляре. Элементы сначала описываются в .ui (как правило), потом на его основе генерится .py через pyuic4.
1
|
|
|
1 / 1 / 0
Регистрация: 29.10.2017
Сообщений: 102
|
|
| 08.11.2017, 17:39 [ТС] | |
|
А зачем в строке self.setupUi(self) в скобках указывать Self? QtGui это и есть конструктор?
0
|
|
|
|
|
| 09.11.2017, 09:18 | |
|
RonaxIT, задумался и вспомнил, что значит form_class
Сорри, уже год как с PyQt не работал, забыл слегка. form_class - это и есть тот самый сгенерённый класс со всеми контролами. Именно от него наследуем метод setupUi. Он принимает "себя" в качестве параметра, чтобы именно в себе и создать эти контролы. Вызываем мы setupUi в ипостаси QMainWindow (шире - QWidget), а исполняем в ипостаси form_class. Это уже можно посмотреть самому.
1
|
|
|
1 / 1 / 0
Регистрация: 29.10.2017
Сообщений: 102
|
|
| 10.11.2017, 16:09 [ТС] | |
|
Что такое контролл?
0
|
|
| 11.11.2017, 17:12 | |
|
Не по теме: кнопка слева от альт
0
|
|
|
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
|
| 12.11.2017, 12:38 | |
|
RonaxIT, это виджеты располагаемые в окне (кнопки, текстовые поля и т д)
1
|
|
|
1 / 1 / 0
Регистрация: 29.10.2017
Сообщений: 102
|
|
| 12.11.2017, 13:12 [ТС] | |
|
То есть form_class принимает себя в качестве значения, чтобы при создании экземпляра и отображения вывел сам себя?
(Что-то не понятно объяснить попроще) Добавлено через 3 минуты QtGui - это конструктор? QtMainWindow - это суперкласс?
0
|
|
|
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
||||
| 12.11.2017, 14:46 | ||||
|
1
|
||||
|
|
||
| 14.11.2017, 11:00 | ||
Сообщение было отмечено RonaxIT как решение
РешениеВы можете нанести на себя самостоятельно татуировку? Вот и тут похожая ситуация. Но только правой рукой (к примеру). На что? На живот, к примеру. Своей правой рукой можете нанести татуировку не только на свой живот, но и на чужой (аналог ситуации - в setupUi передан другой параметр, не self).
1
|
||
|
1 / 1 / 0
Регистрация: 29.10.2017
Сообщений: 102
|
|
| 19.11.2017, 16:52 [ТС] | |
|
Наверное последние вопросы.
form_class - это сгенёренный класс со всеми его контролами, это те контролы которые мы создали в QtDesigner? То есть сначала через self.setupUi(self) создаём все графические элементы в этом экземпляре, какую роль здесь играет form_class? Что такое parent? Добавлено через 23 часа 34 минуты Тогда почему пишем QtGui.QMainWindow разве можно так писать, модуль.класс? Добавлено через 17 минут И разве form_class это класс?
0
|
|
|
|
||||||
| 20.11.2017, 12:04 | ||||||
|
0
|
||||||
|
1 / 1 / 0
Регистрация: 29.10.2017
Сообщений: 102
|
|
| 23.11.2017, 15:00 [ТС] | |
|
Напишите про parent попроще (Заранее спасибо, остальное всё понял).
0
|
|
|
1 / 1 / 0
Регистрация: 29.10.2017
Сообщений: 102
|
|
| 24.11.2017, 15:28 [ТС] | |
|
Прочитал, но про parent там не подробно сказано.
Объясните пожалуйста.
0
|
|
|
|
|
| 24.11.2017, 16:54 | |
|
0
|
|
|
1 / 1 / 0
Регистрация: 29.10.2017
Сообщений: 102
|
|
| 25.11.2017, 19:08 [ТС] | |
|
Непонятно (объясните попроще).
Если parent=0 или None то MyWindowClass из виджета стал окном? А если я создам ещё один класс (потомок MainWindowClass) то этот класс(окно) будет дочерним? Добавлено через 2 минуты Более подробно и попроще объясните про parent (остальное я всё понял).
0
|
|
|
|
|||
| 27.11.2017, 11:57 | |||
|
Да куда уж проще.
parent означает, кто будет держать ссылку на этот объект. То есть, когда родитель удалится - он "потянет" за собой все дочерние виджеты.
0
|
|||
| 27.11.2017, 11:57 | |
|
Помогаю со студенческими работами здесь
18
Объясните пожалуйста пару строчек кода
Объясните работу этого кода Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|