Python

Как да използвам PyQt GUI Builder

Как да използвам PyQt GUI Builder

PyQt е популярна библиотека на Python, използвана за по-лесно внедряване на графични приложения в Python. Тази библиотека се предлага с наречен инструмент за изграждане на графичен потребителски интерфейс (GUI) Qt Designer. GUI може да се изгради бързо в Python, като се използва функцията плъзгане и пускане на тази библиотека, въпреки че този инструмент няма средство за отстраняване на грешки като стандартната IDE. Този урок ви показва как да внедрите GUI, използвайки класа 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 е инсталиран правилно, ще се появи следният прозорец. The Widget полето, показано в лявата част на главния прозорец, съдържа различни приспособления, които можете да използвате за проектиране на потребителския интерфейс на приложението. The Нова форма прозорец се използва за създаване на нов прозорец с помощта на бутоните по подразбиране. Прозорците, показани от дясната страна на главния прозорец, предоставят информация за приспособленията, които могат да бъдат прочетени или модифицирани.

Създайте първия формуляр с помощта на Qt Designer

За да започнем да проектираме интерфейса за приложението Python, ще щракнем върху Създайте в следващия прозорец, за да отворите диалоговия прозорец с два бутона по подразбиране.

След това ще създадем формуляр за вход с помощта на Приспособления за етикет, редактиране на текст и бутон. Диалоговият прозорец ще бъде запазен с името Login.ui, който ще се използва по-късно в скрипта на Python. The 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
импортиране на sys
# Импортирайте QtWidgets и uic модули
от PyQt5 импортиране на QtWidgets, uic
# Създайте обект на приложение
app = QtWidgets.QApplication (sys.argv)
# Заредете GUI форма и дисплей
прозорец = uic.loadUi ("Вход.потребителски интерфейс ")
прозорец.покажи ()
# Стартирайте цикъла на събитието на приложението или диалоговия прозорец
ап.exec ()

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

Стартирайте UI файл чрез конвертиране в Python файл

UI файлът, създаден от Qt Designer, може да бъде преобразуван в Python файл с помощта на pyuic5 команда. Изпълнете следната команда, за да конвертирате Влизам.ui файл в форма за влизане.py файл. The Влизам.ui файлът трябва да се съхранява в текущото местоположение, за да стартира следната команда; в противен случай ще се генерира грешка.

$ pyuic5 Вход.ui -o Форма за вход.py

Следният код ще бъде генериран в форма за влизане.py файл след изпълнение на горната команда.

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

Следното ще покаже Влизам диалогов прозорец чрез импортиране на форма за влизане.py файл, създаден с помощта на pyuic5 команда. Обектът на приложението се създава с помощта на QApplication (), и диалоговият прозорец за вход се зарежда с помощта на setupUi () метод. Бутонът за вход е прикрепен към loginClicked () метод за проверка дали потребителското име и паролата, взети от потребителя, са валидни. The Отказ бутонът е прикрепен към cancelClicked () метод за излизане от приложението. The exec () метод се извиква, за да стартира цикъла на събития на приложението.

# Импортирайте QtWidgets
от PyQt5 импортирайте QtWidgets
# Импортиране на sys
импортиране на sys
# Импортиране на потребителски интерфейс за вход
импортиране на формуляр за вход
# Определете клас за настройка на потребителския интерфейс
клас MyApp (QtWidgets.QMainWindow, Форма за вход.Ui_Logindialog):
def __init __ (самостоятелно, родител = няма):
супер (MyApp, самостоятелно).__init __ (родител)
# Заредете формата за вход
себе си.setupUi (самостоятелно)
# Извикайте метода loginClicked ()
себе си.btnLogin.щракна.свързване (самостоятелно.вход Кликна)
# Call callClicked () метод
себе си.btnОтказ.щракна.свързване (самостоятелно.отмениКликна)
# Декларирайте метод за проверка на потребителско име и парола, когато щракне бутонът Login
def loginClicked (самостоятелно):
ако аз.textEdit.toPlainText () == 'администратор' и самостоятелно.textEdit_2.toPlainText () == 'суперпотребител':
print ('Удостоверен потребител')
друго:
print ('Неудостоверен потребител')
# Декларирайте метод за прекратяване на скрипта, когато бутонът Отказ щракне
def cancelClicked (самостоятелно):
изход ()
# Създайте обект на приложение
app = QtWidgets.QApplication (sys.argv)
# Създайте обект на клас
форма = MyApp ()
# Показване на формуляра
форма.покажи ()
# Стартирайте цикъла на събитието на приложението или диалоговия прозорец
ап.exec ()

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


Ако потребителят въведе грешно потребителско име или парола в Влизам след това след изход ще се появи след щракване върху Влизам бутон.


Ако потребителят въведе правилното потребителско име и парола в Влизам след това след изход ще се появи след щракване върху Влизам бутон.


Ако потребителят щракне върху Отказ бутон в Влизам след това диалоговият прозорец ще изчезне.

Заключение

Този урок ви показа как да инсталирате Qt Designer и как да проектирате проста форма, използвайки това приложение. Урокът също ви показа как да заредите директно диалоговия прозорец на потребителския интерфейс и след конвертирането му в скрипта на Python са показани в другата част на този урок. Надяваме се, че тази статия ви е помогнала да разберете по-добре използването на Qt Designer за изграждане и използване на GUI в приложения.

Урок за OpenTTD
OpenTTD е една от най-популярните бизнес симулационни игри там. В тази игра трябва да създадете прекрасен транспортен бизнес. Въпреки това, ще започне...
SuperTuxKart за Linux
SuperTuxKart е страхотно заглавие, създадено да ви предостави безплатно изживяването на Mario Kart във вашата Linux система. Играта е доста предизвика...
Урок за битка за Уеснот
Битката за Уеснот е една от най-популярните стратегически игри с отворен код, които можете да играете по това време. Тази игра не само се разработва о...