Создаем графическое приложение на 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 для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Проверьте также
Close
Back to top button