PyQt — очень полезная библиотека Python, используемая для разработки графических приложений. Он использует среду Qt GUI Python, разработанную с использованием языка C++. Графический пользовательский интерфейс приложения может быть разработан путем импорта библиотеки PyQt в скрипт Python или с помощью модуля Qt Designer в PyQt. Если вы не хотите писать код для реализации графического интерфейса приложения, то лучше установить Qt Designer и создать с его помощью графический интерфейс пользователя. В этой статье шаг за шагом показан способ создания приложения PyQt на Python.
В этом разделе статьи показаны шаги по реализации простого приложения PyQt для вычисления суммы двух чисел. Здесь числовые значения будут взяты у пользователя с использованием текстовых полей после выполнения скрипта, а затем после нажатия кнопки будет отображаться сумма значений. Здесь создано окно с необходимыми полями для построения дизайна приложения; Затем для вычисления суммы используется сценарий Python.
Шаги:
Вам необходимо импортировать необходимые модули Python для разработки приложения PyQt из этой статьи. Для разработки этого приложения потребуются две метки, два текстовых поля и кнопка.
Модули QApplication, QMainWindow, QLabel, QTextEdit и QPushButton потребуются для разработки приложения.
Добавьте следующие строки в начало сценария, чтобы использовать эти модули.
# Импортировать необходимые модули from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QTextEdit, QPushButton
Добавьте следующие строки, чтобы создать объект приложения и запустить цикл обработки событий. Теперь после выполнения скрипта ничего не появится.
# Создать объект PyQt application app = QApplication([]) # Запустить цикл событий для выполнения приложения app.exec()
Создайте класс для добавления необходимых объектов на этом шаге для разработки окна приложения.
Добавьте следующие строки, чтобы создать класс с оконным объектом. Здесь задаются заголовок, размер и положение окна. Затем вызывается метод show() для отображения окна в качестве вывода.
class addition(QMainWindow): def __init__(self): # Вызвать родительский конструктор super().__init__() # Установить заголовок окна self.setWindowTitle("Приложение добавления PyQt") # Установить ширину и высоту окна self.resize(350, 200) # Сдвинуть положение окна self.move(800, 400) # Отображение окна self.show()
Вы должны создать объект класса перед запуском цикла событий.
# Создание оконного объекта window = add()
Следующее пустое окно появится после выполнения сценария.
Теперь добавьте необходимые объекты, необходимые для реализации приложения. На этом шаге создаются три объекта виджета QLabel, два объекта виджета QTextEdit и объект кнопки виджета QPushButton.Первые два объекта метки будут использоваться для предоставления текста помощи перед текстовыми полями. Объекты QTextEdit будут использоваться для получения от пользователя двух числовых значений. Будет создан объект QPushButton для вычисления суммы входных чисел с использованием функции обработчика событий, которая будет создана на следующем шаге. Последний объект метки будет использоваться для отображения суммы двух чисел. Здесь функция setGeometry () вызывается для каждого объекта, чтобы установить положение объекта в окне.
# Создать метку для первого номера self.lbl1 = QLabel('Номер 1', self) self.lbl1.setGeometry(80, 20, 80, 50) # Создать текстовое поле для первого числа self.textbox1 = QTextEdit(self) self.textbox1.setGeometry(80, 60, 70, 30) # Создать метку для второго номера self.lbl2 = QLabel('Номер 2', self) self.lbl2.setGeometry(200, 20, 80, 50) # Создать текстовое поле для второго числа self.textbox2 = QTextEdit(self) self.textbox2.setGeometry(200, 60, 70, 30) # Создать кнопку для расчета суммы self.submit = QPushButton('Вычислить сумму ', self) self.submit.setGeometry(80, 100, 190, 30) # Создать метку для отображения результата суммирования self.lblResult = QLabel('', self) self.lblResult.setGeometry(80, 130, 200, 50)
Следующий вывод появится после выполнения сценария. На этом шаге не создается функция-обработчик событий, которая используется для вычисления суммы чисел. Итак, если пользователь нажимает кнопку, ничего не произойдет.
Создайте метод с именем onClicked () со следующими строками внутри класса добавления для обработки события нажатия кнопки. Значения текстовых полей преобразуются в целые числа , используя Int () функцию и хранятся в num1 и num2 переменные. Далее, сумма num1 и num2 сохраняются в результате переменной. Значения num1, num2 и результирующих переменных преобразуются в значения строк с использованием ул () функцию, перед сохранением значения в выходной Переменная. Третий объект метки используется для отображения содержимого выходной переменной.
def onClicked(self): num1 = int(self.textbox1.toPlainText()) num2 = int(self.textbox2.toPlainText()) result = num1 + num2 output = "<p style = 'color: blue'> Сумма из " + str(num1)+ " и " + str(num2)+"is" + str(result)+ '</p>' self.lblResult.setText(output)
Добавьте следующие строки в класс после объекта кнопки для вызова метода onClicked() при нажатии кнопки.
# Вызов функции при нажатии кнопки self.submit.clicked.connect(self.onClicked)
Если после выполнения сценария пользователь ввел 12 и 18 в текстовые поля и нажал кнопку «Вычислить сумму», под кнопкой появится следующий форматированный вывод.
Реализация очень простого приложения PyQt была объяснена в этой статье, начиная с базового, чтобы помочь новым пользователям Python. Надеюсь, что пользователь сможет спроектировать и создать простое приложение PyQt после правильного выполнения и понимания шагов этого руководства.