#python #pyqt
#python #pyqt
Вопрос:
У меня установлен PyQt v.4.8.8.Когда я рисую макеты и хочу просмотреть код, появляется ошибка, из-за которой не удается запустить uic, как в моментальном снимке:
Я могу скомпилировать файлы .ui вручную в cmdLine. Но я не знаю, куда поместить код для слота, методов, сигналов.
1- Где я должен установить настройки для поиска uic для компиляции пользовательского интерфейса? В моей установке нет pyuic4.
2 — Где я могу определить свои собственные слоты / методы и сигнатуры функций? (объект получателя, отправитель) Я могу видеть сигналы редактирования / слоты в меню редактирования, но это показывает только стандартные сигналы / слоты.Не имеет опций для определения вашего.
Ответ №1:
Как следует из названия, Qt designer предназначен только для проектирования интерфейса. Вы не можете использовать его для написания кода для реальной логики приложения. Для этого вам понадобится обычный редактор Python. Точные сведения о том, как использовать файлы конструктора в Python, описаны в справочном руководстве PyQt по использованию Qt Designer.
Кстати, uic
не для PyQt, а для компиляции пользовательских интерфейсов в C . Чтобы скомпилировать пользовательские интерфейсы на Python, вам нужно использовать pyuic4
. Этот инструмент нельзя запустить из конструктора, вам нужно запустить его вручную. Но рекомендуется динамически загружать пользовательский интерфейс во время выполнения с помощью PyQt4.uic
модулей, как описано в справочном руководстве.
Комментарии:
1. Я следил за этим руководством по cs.usfca.edu /~afedosov/qttut Здесь показан раздел, в котором вы можете определить сигнатуры своих функций, которые я не могу найти в QtDesigner, который у меня есть. Я понимаю, что не могу написать код в designer, но я должен иметь возможность определять новые методы / слоты. Когда я устанавливаю PyQt, он не поставляется с pyuic4. но с uic я могу генерировать коды Python на самом деле..
2. @Arash. Это руководство предназначено для PyQt3, а не для PyQt4.
3. Кажется, что Designer 4 competley удаляет эту функцию.
4. Это потому, что Qt Creator — босс.
Ответ №2:
Я нашел это руководство по PyQt4, объясняющее, как добавить свои собственные слоты в Qt4.Очень информативно.