|
1 / 1 / 0
Регистрация: 29.10.2017
Сообщений: 102
|
||||||
PyQt4 Объясните пожалуйста работу этого кода02.11.2017, 14:49. Показов 3721. Ответов 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
Объясните пожалуйста пару строчек кода
Объясните работу этого кода Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
в-строка - входное арифметическое выражение в инфиксной(обычной). . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|