Кратко изложу принцип работы. Для начала создаем 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