Python

Как использовать PyQt GUI Builder

Как использовать PyQt GUI Builder

PyQt - популярная библиотека Python, используемая для более простой реализации графических приложений на Python. Эта библиотека поставляется с инструментом построения графического интерфейса пользователя (GUI), который называется Qt Designer. Графический интерфейс можно быстро создать на Python с помощью функции перетаскивания этой библиотеки, хотя этот инструмент не имеет средства отладки, как стандартная IDE. В этом руководстве показано, как реализовать графический интерфейс с помощью класса Qt Designer PyQt.

Предпосылки

Вы должны установить инструмент Qt Designer, прежде чем практиковать примеры, представленные в этом руководстве. Выполните следующие команды, чтобы установить Qt Designer в вашей системе:

$ sudo apt-get install qttools5-dev-tools
$ sudo apt-get install qttools5-dev

Откройте Qt Designer

Выполните следующую команду, чтобы изменить текущее расположение каталога на Qt Designer папка.

$ cd / usr / lib / x86_64-linux-gnu / qt5 / bin /

Выполните следующую команду, чтобы открыть приложение Qt Designer.

$ ./ дизайнер

Если Qt Designer был установлен правильно, появится следующее окно. В Виджет поле, показанное в левой части главного окна, содержит различные виджеты, которые вы можете использовать для разработки пользовательского интерфейса приложения. В Новая форма window используется для создания нового окна с помощью кнопок по умолчанию. Окна, показанные в правой части главного окна, предоставляют информацию о виджетах, которые можно читать или изменять.

Создайте первую форму с помощью Qt Designer

Чтобы начать разработку интерфейса для приложения Python, мы щелкнем по кнопке Создавать в следующем окне, чтобы открыть диалоговое окно с двумя кнопками по умолчанию.

Затем мы разработаем форму входа, используя Виджеты "Ярлык", "Редактирование текста" и "Кнопка". Диалоговое окно будет сохранено под именем Login.ui, который будет использоваться позже в скрипте Python. В QObject имя будет изменено на Логиндиалог с помощью Окно редактора свойств этого приложения.

Использование диалогового окна входа в систему

Файл пользовательского интерфейса, созданный Qt Designer может использоваться в скрипте Python двумя способами. Файл можно использовать непосредственно в скрипте Python или преобразованном файле Python в Qt Designer файл можно использовать в скрипте Python. Оба способа использования диалогового окна Qt Designer показаны в следующем разделе руководства.

Запустить файл Qt Designer напрямую

Модуль UIC библиотеки PyQt используется для загрузки файла, созданного Qt Designer, а loadUI () метод модуля UIC используется для загрузки файла UI. Следующий сценарий показывает, как загрузить Qt Designer файл с именем Авторизоваться.ui что мы создали раньше. Необходимые модули импортируются в начале скрипта. Объект приложения создается с помощью QApplication (), и Qt Designer файл загружается с помощью loadUI () метод. Далее exec () вызывается метод для запуска цикла обработки событий приложения.

# Импортировать модуль sys
import sys
# Импортировать QtWidgets и модули uic
из PyQt5 импортировать QtWidgets, uic
# Создать объект приложения
app = QtWidgets.QApplication (sys.argv)
# Загрузить форму графического интерфейса и отобразить
окно = uic.loadUi ("Войти.ui ")
окно.показывать()
# Запускаем цикл обработки событий приложения или диалогового окна
приложение.exec ()

Следующее диалоговое окно появится после выполнения вышеуказанного сценария.

Запуск файла пользовательского интерфейса путем преобразования в файл Python

Файл пользовательского интерфейса, созданный Qt Designer, можно преобразовать в файл Python с помощью pyuic5 команда. Выполните следующую команду, чтобы преобразовать Авторизоваться.ui файл в loginForm.ру файл. В Авторизоваться.ui файл должен быть сохранен в текущем месте для выполнения следующей команды; в противном случае будет сгенерирована ошибка.

$ pyuic5 Войти.ui -o loginForm.ру

Следующий код будет сгенерирован в loginForm.ру файл после выполнения вышеуказанной команды.

# - * - кодировка: utf-8 - *-
# Реализация формы, созданная при чтении файла пользовательского интерфейса 'Login.ui '
#
# Создано: PyQt5 UI code generator 5.12.3
#
# ПРЕДУПРЕЖДЕНИЕ! Все изменения, внесенные в этот файл, будут потеряны!
из PyQt5 импортировать QtCore, QtGui, QtWidgets
класс Ui_Logindialog (объект):
def setupUi (self, Logindialog):
Логиндиалог.setObjectName ("Logindialog")
Логиндиалог.изменить размер (400, 224)
себя.textEdit = QtWidgets.QTextEdit (Logindialog)
себя.textEdit.setGeometry (QtCore.QRect (130, 70, 221, 31))
себя.textEdit.setObjectName ("textEdit")
себя.textEdit_2 = QtWidgets.QTextEdit (Logindialog)
себя.textEdit_2.setGeometry (QtCore.QRect (130, 120, 221, 31))
себя.textEdit_2.setObjectName ("textEdit_2")
себя.label = QtWidgets.QLabel (Logindialog)
себя.метка.setGeometry (QtCore.QRect (140, 20, 131, 31))
font = QtGui.QFont ()
шрифт.setPointSize (18)
себя.метка.setFont (шрифт)
себя.метка.setObjectName ("метка")
себя.label_2 = QtWidgets.QLabel (Logindialog)
себя.label_2.setGeometry (QtCore.QRect (36, 70, 81, 20))
себя.label_2.setObjectName ("метка_2")
себя.label_3 = QtWidgets.QLabel (Logindialog)
себя.label_3.setGeometry (QtCore.QRect (40, 120, 67, 17))
себя.label_3.setObjectName ("label_3")
себя.btnLogin = QtWidgets.QPushButton (Logindialog)
себя.btnLogin.setGeometry (QtCore.QRect (150, 170, 89, 25))
себя.btnLogin.setObjectName ("btnLogin")
себя.btnCancel = QtWidgets.QPushButton (Logindialog)
себя.btnCancel.setGeometry (QtCore.QRect (250, 170, 89, 25))
себя.btnCancel.setObjectName ("btnCancel")
себя.retranslateUi (Logindialog)
QtCore.QMetaObject.connectSlotsByName (Logindialog)
def retranslateUi (self, Logindialog):
_translate = QtCore.QCoreApplication.переведите
Логиндиалог.setWindowTitle (_translate ("Logindialog", "Диалог"))
себя.метка.setText (_translate ("Logindialog", "Форма входа"))
себя.label_2.setText (_translate ("Logindialog", "Имя пользователя"))
себя.label_3.setText (_translate ("Logindialog", "Пароль"))
себя.btnLogin.setText (_translate ("Logindialog", "Вход"))
себя.btnCancel.setText (_translate ("Logindialog", "Отмена"))

Следующее отобразит Авторизоваться диалоговое окно, импортировав loginForm.ру файл, созданный с использованием pyuic5 команда. Объект приложения создается с использованием QApplication (), и диалоговое окно входа загружается с помощью setupUi () метод. Кнопка входа в систему прикреплена к loginClicked () метод проверки правильности имени пользователя и пароля, взятых у пользователя. В Отмена кнопка прикреплена к cancelClicked () способ выйти из приложения. В exec () вызывается метод для запуска цикла обработки событий приложения.

# Импортировать QtWidgets
из PyQt5 импортировать QtWidgets
# Импортировать sys
import sys
# Импортировать пользовательский интерфейс формы входа
импортировать loginForm
# Определить класс для настройки пользовательского интерфейса
класс MyApp (QtWidgets.QMainWindow, loginForm.Ui_Logindialog):
def __init __ (self, parent = None):
супер (MyApp, я).__init __ (родитель)
# Загрузить форму входа
себя.setupUi (самостоятельно)
# Вызвать метод loginClicked ()
себя.btnLogin.щелкнул.подключиться (самостоятельно.loginClicked)
# Вызвать метод cancelClicked ()
себя.btnCancel.щелкнул.подключиться (самостоятельно.cancelClicked)
# Объявить метод проверки имени пользователя и пароля при нажатии кнопки входа в систему
def loginClicked (self):
если я.textEdit.toPlainText () == 'admin' и self.textEdit_2.toPlainText () == 'суперпользователь':
print ('Авторизованный пользователь')
еще:
print ('Неаутентифицированный пользователь')
# Объявить метод завершения скрипта при нажатии кнопки Отмена
def cancelClicked (self):
выход()
# Создать объект приложения
app = QtWidgets.QApplication (sys.argv)
# Создать объект класса
form = MyApp ()
# Отобразить форму
форма.показывать()
# Запускаем цикл обработки событий приложения или диалогового окна
приложение.exec ()

Следующее диалоговое окно появится после выполнения вышеуказанного сценария.


Если пользователь вводит неправильное имя пользователя или пароль в Авторизоваться форма, то после нажатия кнопки Авторизоваться кнопка.


Если пользователь вводит правильный логин и пароль в Авторизоваться форма, то после нажатия на Авторизоваться кнопка.


Если пользователь щелкает Отмена кнопка в Авторизоваться форма, то диалоговое окно исчезнет.

Заключение

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

Как изменить указатель мыши и размер курсора, цвет и схему в Windows 10
Указатель мыши и курсор в Windows 10 - очень важные аспекты операционной системы. То же самое можно сказать и о других операционных системах, так что,...
Бесплатные движки с открытым исходным кодом для разработки игр для Linux
В этой статье будет рассмотрен список бесплатных игровых движков с открытым исходным кодом, которые можно использовать для разработки 2D- и 3D-игр в L...
Shadow of the Tomb Raider для Linux Учебное пособие
Shadow of the Tomb Raider - двенадцатое дополнение к серии Tomb Raider - франшизе приключенческой игры, созданной Eidos Montreal. Игра была очень хоро...