search

Saturday, August 25, 2012

PyQt: Работа с Qt Designer

Для работы с PyQt понадобится его установить. Так же будут нужны -devel файлы и Qt Designer. Установить можно через Add/Remove Software.

Кратко изложу принцип работы. Для начала создаем gui в Qt Designer. Затем используем его при написании программы в Python.

При создании графического интерфейса есть одна небольшая хитрость. Для того, чтобы заставить контейнер заполнить всю свободную область, необходимо нажать на него правой кнопкой мыши, перейти в меню Lay out и выбрать пункт Lay Out in a Grid.

При сохранении созданного пользовательского интерфейса, на выходе получается файл с расщирением *.ui. Есть два метода работы с ним.

Первый метод заключается в преобразовании полученного *.ui файла в *.py файл. Сделать это можно с помощью команды pyuic4 (если после набора в терминале этой команды видите сообщение, что она не найдена - проверьте, установили ли вы devel файлы).
pyuic4 main.ui > main.py

Символ > используется в windows-версии. Не уверен, нужен ли он вообще в linux.

Второй метод, который, как мне кажется, является более предпочтительным - это использование *.ui файла напрямую в вашем коде. Рассмотрим простой пример программного кода:
import sys
from PyQt4 import QtCore, QtGui, uic
import sbres_rc

class MyForm(QtGui.QMainWindow):
def __init__(self, parent=None):
QtGui.QMainWindow.__init__(self)
self.ui = uic.loadUi('main.ui')
self.ui.show()

if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
myapp = MyForm()
sys.exit(app.exec_())

И все же без конвертации не обошлось. Если вы для иконок используете файл ресурсов с расширением *.qrc, то его необходимо сконвертировать в *.py файл. Для этого откройте терминал и запустите команду:
pyrcc4 -o sbres_rc.py sbres.qrc

Обратите внимание на добавление суффикса _rc в названии файла на выходе.

No comments:

Post a Comment