Глава 5. Разработка графического интерфейса
Проектирование дизайна проводится в среде для разработки графических интерфейсов Qt Designer, инсталятор которого можно скачать с официального сайта (взять пробную версию или приобрести расширенную) которая входит в состав Qt framework. Распространяется Qt Designer совместно с библиотекой PyQt5. Установка проходит через командную строку при помощи утилиты pip:
pip install PyQt5
После запуска программы необходимо выбрать главную форму. В нашем случае это диалоговое окно с кнопками внизу (Dialog with Buttons Bottom).
В режиме редактирования необходимые виджеты выбираются из левого меню (Widget Box) и перетаскиваются в форму, после чего их можно редактировать в интерактивном режиме в «Редакторе свойств» (Property Editor) - окно в правом нижнем углу. «Инспектор объектов» (Object Inspector), верхнее окно справа, отображает иерархический список всех объектов на форме, которая в настоящее время редактируется.
Каждый объект реализует свой класс, который можно редактировать. В нашем случаем для всех классов мы использовали библиотеку PyQtGraph. Для отображения графика используется виджет Widget со следующими настройками:
Таким образом, виджет будет использовать подкласс PlotWidget (класс GraphicsView). GraphicsView автоматически создает GraphicsScene и центральный QGraphicsWidget, который масштабируется при помощи колесика мыши. Система координат обновляется при изменении размера представления – таким образом функция масштабирования уже реализована.
После того, как все необходимые элементы добавлены на форму, она сохраняется в файл с расширением ui, имеющий xml-формат, и может, в случае необходимости, редактироваться в любом текстовом редакторе.
Файл конфигурации пользовательского интерфейса программы
Для использования разработанного интерфейса необходимо преобразовать файл в формат .py. Реализуется это утилитой pyuic5:
pyuic5 <имя файла.ui> -o <имя файла.py>
Ключ –o используется для генерации нового файл, с сохранением старого. Сгенерированный файл (мы дали ему имя design.py) представляет собой листинг программы на языке Puthon.
design.py
Если вы заметили неточность, ошибку или хотите поделиться своими мыслями по поводу статьи - мы рады обратной связи. Давайте вместе сделаем ресурс лучше!