Если вы установили Qt4, значит, у вас есть Qt Designer. Если вы использовали установщик с qt.nokia.com, он должен находиться в /Developer/Applications/Qt.
Сам Qt Designer прекрасно работает с PyQt. Qt designer просто выкладывает XML, описывающий структуру пользовательского интерфейса. Если бы вы использовали стандартный Qt с C ++, вам пришлось бы запускать инструмент uic
для генерации C ++ из файлов .ui. Аналогично, в PyQt4 вы должны запустить pyuic4
для сгенерированного файла .ui, чтобы создать из него исходный код Python.
Если вы ищете полное решение IDE, которое автоматически обрабатывает все это с помощью PyQt, я не знаю о существовании такого решения. У меня просто есть скрипт build_helper.py
, который обрабатывает все мои файлы .ui и помещает их в соответствующее место в пакете python, который я разрабатываю. Я запускаю вспомогательный скрипт сборки перед запуском реальной основной программы, чтобы убедиться, что сгенерированный код обновлен.
Все мои файлы .ui помещаются в подпапку ui
в корне проекта. Затем сценарий создает исходный код Python и помещает его в «myapp / ui / generate».
Например:
import os.path
from PyQt4 import uic
generated_ui_output = 'myapp/ui/generated'
def process_ui_files():
ui_files = (glob.glob('ui/*.ui'),
glob.glob('ui/Dialogs/*.ui'),
glob.glob('ui/Widgets/*.ui')))
for f in ui_files:
out_filename = (
os.path.join(
generated_ui_output,
os.path.splitext(
os.path.basename(f))[0].replace(' ', '')+'.py')
)
out_file = open(out_filename, 'w')
uic.compileUi(f, out_file)
out_file.close()
if __name__ == '__main__':
process_ui_files()
У меня также есть несколько других функций для запуска pyrcc4
для компиляции ресурсов и pylupdate4
и lrelease
для генерации переводов.