Создаем графическое приложение на PySide6 (Python Qt)

Создаем графическое приложение на PySide6 (Python Qt)

В данном примере мы создадим графическое приложение c помощью библиотеки PySide6 (порт Qt для Python).

Сначала развернем виртуальное окружением и установим необходимую библиотеку.


$ python3 -m venv pyqt5example
$ source pyqt5example/bin/activate
$ pip install pyside6

Теперь непосредственно код самого приложения


# импортируем необходимые пакеты
import sys
import random
from PySide6.QtCore import Qt, Slot
from PySide6.QtWidgets import QApplication, QWidget, QPushButton, QLabel, QVBoxLayout

# главное окно приложения расширяет класс QWidget
class MainWidget(QWidget):

    # список предложений
    strings = ["Раз два три", "Четыре пять  шесть", "Семь восемь девять", "Просто тест", "Как так это"]

    # конструктор
    def __init__(self):
        super().__init__()

        # создаем кнопку
        self.button = QPushButton("Нажмите на меня!")
        # создаем текстовую метку отцентиророванную посередине контейнера
        self.text = QLabel("Привет, меня зовут PyQt.", alignment=Qt.AlignCenter)

        # вертикальная разметка
        self.layout = QVBoxLayout(self)
        # добавляем виджеты в разметку
        self.layout.addWidget(self.text)
        self.layout.addWidget(self.button)

        # назначаем обработчки для копки на событие клика
        self.button.clicked.connect(self.randomSentence)

    # сам обработчик
    @Slot()
    def randomSentence(self):
        self.text.setText(random.choice(self.strings))

if __name__ == "__main__":
    # главный класс приложения принимает строку - заголовок окна
    app = QApplication(['Пример прииложения на PyQT'])

    # создаем главный виджет размером 800x600 и отображаем его
    widget = MainWidget()
    widget.resize(800, 600)
    widget.show()

    sys.exit(app.exec())


Источник

Статьи по теме

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Back to top button