Янв 11

Что такое Qt designer

Qt Designer – это программа которая упрощает создание графического интерфейса нашей программы, конечно внешний вид можно сделать и без помощи данной программы, но не для всех это будет удобно. В  этой статье мы разобрались как установить все необходимое и теперь можем приступить к работе.

Открываем Qt designer

Чтобы открыть Qt designer открываем командную строку, вводим в ней designer.exe и жмем Enter. Перед нами откроется следующее окно:

Здесь нужно выбрать один из пяти предложенных шаблонов:

Dialog with Buttons Bottom (Диалоговое окно с кнопками внизу) – форма с кнопками ОК и Cancel расположенными внизу.

Dialog with Buttons Right (Диалоговое окно с кнопками справа) – такая же как и предыдущая форма, но кнопки расположены вверху справа.

Dialog without Buttons (Диалоговое окно без кнопок) – пустая форма диалогового окна.

Main Window (Главное окно) – окно с пустым меню и панелью для инструментов.

Widget (Виджет) – пустое окно.

 

Создаем первую программу в Qt designer

Сделаем простую программку на основе Main Window, для этого выбираем шаблон и нажимаем кнопку Create (Создать).

Из бокса слева с помощью ЛКМ (левой клавиши мыши) перетаскиваем виджет Label (используется для отображения текста или рисунка) в центральное окно (это и есть окно нашей программы) теперь рассмотрим правую часть окна Qt designer:

Вверху располагается Object Inspector, в нем отображается все что мы «напихали» в нашу программу;

Далее расположен Property Editor в нем располагаются свойства выбранного витжета, так если выбрать наш Label, он будет выглядеть следующим образом:

Рассмотрим пока некоторые из пунктов:

objectName – определяет имя виджета (то как он будет отображаться в коде программы) по умолчанию стоит label (если добавим второй такой же виджет он будет называться label_2 и так далее);

В пункте geometry – задаются размеры виджета;

В пункте font – задается каким шрифтом, размером и типом будет выполнена надпись;

Далее прокручиваем вниз там находится Qlabel:

Пункт text – определяет что будет написано в нашем виджете;

Пункт alignment – определяет выравнивание текста.

Закончив настройку внешнего вида программы (а мы пока закончим на добавлении одного элемента label) сохраняем наш файл как label.ui (или под другим удобным для вас именем). После чего программу Qt designer можно закрыть, пока она нам больше не пригодится.

Использование графического интерфейса в Python

Теперь чтобы использовать созданный нами графический интерфейс в написании программы на Python нам необходимо «показать» нашей будущей программе, где находится ее «оболочка», это можно выполнить двумя способами:

  1. Загрузка файла .ui в код Python;
  2. Конвертиртация файла .ui в файл .py при помощи pyuic5

 

Я бы советовал использовать второй способ, так как он несколько быстрее в обработке и не требует у машины конвертации в реальном времени.

Связывание файла .UI с python

Чтобы выполнить загрузку файла в наш код создадим новый документ Python и используем в нем функцию загрузки loadUI():



from PyQt5 import QtWidgets, uic
import sys
 
app = QtWidgets.QApplication([])
win = uic.loadUi("C:/Users/User/Desktop/ST/label.ui") # тут нужно указать путь к расположению файла .ui
 
win.show()
sys.exit(app.exec())


Если запустить этот код (если Вы используете Sublime Text 3 то это делается комбинацией клавиш Ctrl + B) откроется окно наше программы, это значит что все работает.

Конвертация файла .ui в файл .py

Конвертация создает файл .ру который уже связывается с файлом в котором будет располагаться код самой программы. Открываем командную строку и вводим CMD, в открывшемся окне прописываем сначала cd далее путь к папке, где расположен наш файл .ui и жмем Enter

Далее вводим команду pyuic5 label.ui -o label.py — где label.ui – это имя нашего файла созданного в Qt designer а label.py имя нашего нового файла который будет создан при конвертации и жмем Enter.

Далее закрываем окно консоли и видим что у нас появился новый файл label.py. теперь создаем новый файл python где пишем следующий код:



from PyQt5 import QtWidgets
from label import Ui_MainWindow  # импорт нашего сгенерированного файла с именем label
import sys
 
 
class mywindow(QtWidgets.QMainWindow):
    def __init__(self):
        super(mywindow, self).__init__()
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
 
 
app = QtWidgets.QApplication([])
application = mywindow()
application.show()
 
sys.exit(app.exec())


Теперь запускаем этот файл и видим наше созданное окно программы

 


автор: Admin

Оставьте свой отзыв

RSS
Follow by Email
Facebook
Google+
https://cl-box.ru/python-nachnem-s-designer-pyqt5
Twitter
SHARE
LinkedIn