Перейти до основного контенту

Віконна програма Python за допомогою бібліотеки PyQt5

9 хв читання
1685 переглядів

PyQt5-це потужний набір інструментів для створення графічних інтерфейсів на Python. За допомогою нього ви можете легко створювати вікна, діалогові вікна та інші елементи інтерфейсу користувача.

Створення вікна в PyQt5 може здатися складним завданням для початківців, але насправді це досить просто. Вам знадобиться лише кілька рядків коду, щоб створити базове вікно та додати до нього необхідні елементи керування.

Для початку встановіть PyQt5 за допомогою pip:

pip install pyqt5

Потім створіть новий файл із розширенням. py та додайте наступний код:

from PyQt5.QtWidgets import QApplication, QMainWindow

window.setWindowTitle ('моє перше вікно')

window.setGeometry(100, 100, 500, 500)

Цей код створює нову програму та головне вікно. Потім вікна задається заголовок і розмір. В кінці викликається метод show (), щоб вікно відобразилося на екрані.

Після запуску цього коду ви побачите просте вікно із заголовком "моє перше вікно" розміром 500x500 пікселів. Ви можете далі налаштовувати вікно, додавати інші елементи і задавати їм поведінку за допомогою PyQt5.

Короткий вступ до PyQt5

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

Однією з головних особливостей PyQt5 є його крос-платформенність. Завдяки використанню фреймворку Qt, додатки, створені за допомогою PyQt5, можуть запускатися на різних операційних системах, включаючи Windows, macOS і Linux. Це дозволяє розробникам створювати додатки, які працюватимуть на широкому спектрі пристроїв.

Створення вікна в PyQt5 дуже просто. Першим кроком є створення об'єкта класу QApplication, який представляє додаток. Потім створюється об'єкт класу QMainWindow, який представляє основне вікно програми. Після цього можна додавати різні віджети до вікна, встановлювати їх параметри і обробляти події.

from PyQt5.QtWidgets import QApplication, QMainWindow

window.setWindowTitle ('моє перше вікно PyQt5')

window.setGeometry(100, 100, 500, 500)

PyQt5 також надає безліч додаткових можливостей, таких як можливість працювати з базами даних, веб-службами та багато іншого. Все це робить PyQt5 потужним інструментом для створення високоякісних графічних інтерфейсів користувача в Python.

Як створити графічне вікно в PyQt5

  1. Встановіть бібліотеку PyQt5 на свій комп'ютер, якщо вона ще не встановлена. Ви можете встановити її за допомогою пакетного менеджера pip, виконавши команду pip install PyQt5 .
  2. Імпортуйте необхідні модулі у свій код. Зазвичай використовуються модулі QtCore, QtGui та QtWidgets . Для цього вставте наступні рядки на початку коду:
from PyQt5 import QtCore, QtGui, QtWidgets
class MyWindow(QtWidgets.QMainWindow):def __init__(self):super().__init__()self.initUI()def initUI(self):self.setWindowTitle("Мое графическое окно")self.setGeometry(100, 100, 500, 500)self.show()
if __name__ == "__main__":app = QtWidgets.QApplication([])window = MyWindow()app.exec_()

В результаті виконання цих кроків ви створите графічне вікно, яке буде відображатися на екрані. У наведеному коді вікно матиме заголовок "моє графічне вікно" та розміри 500x500 пікселів.

Ви також можете налаштувати зовнішній вигляд вікна, додати елементи управління, обробку подій і багато іншого, використовуючи функціонал бібліотеки PyQt5. Дізнайтеся більше про можливості PyQt5 з його документації.

Створення вікна в Python pyqt5

Для початку роботи з PyQt5 необхідно встановити його за допомогою команди pip install pyqt5. Після установки бібліотеки можна приступати до створення вікна.

Для створення вікна в PyQt5 необхідно імпортувати класи QApplication і QMainWindow:

  1. from PyQt5.QtWidgets import QApplication, QMainWindow

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

  1. app = QApplication([])

Потім необхідно створити екземпляр класу QMainWindow:

  1. win = QMainWindow()

Після створення екземпляра класу QMainWindow можна налаштувати його властивості, наприклад, заголовок вікна:

  1. win.setWindowTitle ('моє вікно')

Потім можна відобразити вікно, викликавши метод show ():

Нарешті, необхідно викликати головний цикл програми за допомогою методу exec():

Це дозволить додатку очікувати подій і взаємодій Користувача з вікном.

Таким чином, створення вікна в Python за допомогою бібліотеки PyQt5 зводиться до кількох простих кроків. При цьому за допомогою додаткових методів і властивостей класу QMainWindow можна додати у вікно різні елементи управління, такі як кнопки, поля введення і т. д.

Крок 1: імпорт необхідних модулів

Перед створенням вікна в PyQt5 необхідно імпортувати кілька модулів. Вам знадобиться модуль PyQt5.QtWidgets для створення віджетів, модуль PyQt5.QtCore для роботи з подіями і модуль sys для управління додатком.

Для імпортування всіх необхідних модулів скористайтеся наступним кодом:

from PyQt5.QtWidgets import QApplication, QMainWindow

from PyQt5.QtCore import Qt

Опція import sys дозволяє використовувати функції та методи модуля sys. Вона дає доступ до функцій, які дозволяють взаємодіяти з системою, такими як завершення роботи Програми або передача аргументів командного рядка.

Крок 2: створення екземпляра класу QApplication

Перед тим, як створити вікно програми, необхідно створити екземпляр класу QApplication, який буде обробляти основний цикл подій. Цей клас відповідає за обробку всіх користувальницьких дій, таких як натискання кнопок, зміна розмірів вікна та інших подій.

Вам потрібно створити об'єкт класу QApplication і передати в нього аргументи. Зазвичай у цьому класі використовується лише один аргумент - список аргументів командного рядка argv. Цей список потрібен лише в певних випадках, наприклад, якщо ви хочете передати аргументи командного рядка у свою програму.

Ось приклад коду, який створює екземпляр QApplication:

Цей рядок створює об'єкт app, який є екземпляром класу QApplication. Він використовує sys.argv як аргумент, щоб отримати список аргументів командного рядка, переданих під час запуску програми.

Після того, як у вас є екземпляр QApplication, ви можете перейти до створення основного вікна програми та подальшого налаштування його елементів інтерфейсу.

Крок 3: створення екземпляра класу QMainWindow

Після того, як ми визначили наше вікно, нам потрібно буде створити його екземпляр, щоб його можна було відкрити.

Для цього спочатку імпортуємо клас QMainWindow з модуля PyQt5, а потім створимо об'єкт цього класу.

from PyQt5.QtWidgets import QMainWindow

Створення екземпляра класу QMainWindow дозволяє нам відкрити та відобразити вікно на екрані.

Метод show() відображає вікно на передньому плані, а метод exec_ () починає виконання програми.

Після виклику методу exec_ (), вікно буде відкрито і буде чекати взаємодії користувача.

Тепер наше вікно готове та відкрите, і ми можемо перейти до наступних кроків, таких як додавання віджетів,

Налаштування макетів і обробка подій.

Крок 4: Налаштування інтерфейсу вікна

Віджети в PyQt5-це класи, які успадковуються від базового класу QWidget . Наприклад, кнопка в PyQt5 представляється класом QPushButton, а текстове поле - класом QLineEdit .

Щоб додати віджет у вікно, використовується метод addWidget () з класу QHBoxLayout або QVBoxLayout . Ці класи являють собою різні схеми розташування віджетів у вікні, де QHBoxLayout розташовує елементи в горизонтальну лінію, а QVBoxLayout - у вертикальну.

Наприклад, щоб додати кнопку у вікно, можна використовувати наступний код:

  • Імпортуємо клас QPushButton: from PyQt5.QtWidgets import QPushButton
  • Створюємо кнопку: button = QPushButton ('натисни мене')
  • Додаємо кнопку у вікно: layout.addWidget(button)

Аналогічно можна додавати інші віджети, наприклад текстові поля, Мітки та ін.

Після того, як всі віджети додані в вікно, необхідно зробити його видимим. Для цього використовується метод show() З класу QMainWindow . Зрештою, код буде виглядати приблизно так:

from PyQt5.QtWidgets import QMainWindow, QPushButton, QVBoxLayout, QWidgetclass MyWindow(QMainWindow):def __init__(self):super().__init__()layout = QVBoxLayout()button = QPushButton('Нажми меня')layout.addWidget(button)widget = QWidget()widget.setLayout(layout)self.setCentralWidget(widget)self.show()

Таким чином, на даному кроці ми налаштували інтерфейс вікна, додали в нього кнопку і зробили вікно видимим.

Крок 5: відображення вікна

Після того, як ми створили об'єкт класу QtWidgets.QApplication і налаштували головне вікно за допомогою класу QtWidgets.QMainWindow, ми можемо відобразити вікно на екрані. Для цього нам знадобиться метод show().

Викличте метод show() для нашого об'єкта вікна. Завершіть код програми за допомогою функції app.exec_().

Тепер, запустивши наш додаток, ви повинні побачити відображення вікна на екрані. Ви можете змінити розмір вікна або додати до нього інші віджети, щоб створити повноцінний графічний додаток. Ми щойно освоїли основи створення вікна в PyQt5!