воскресенье, 12 апреля 2015 г.

Первая программа с PyQt5

Изучение любой библиотеки начинается с первой рабочей тестовой программы, но к сожалению зачастую первая такая программа описанная в документации, оказывается нерабочей. Из-за этого всегда тратится много времени на первую болванку.

Теперь приступим к первому тесту, то есть напишем программу, которая будет просто считать количество нажатий на кнопку.
Для этого создадим в Qt Designer вот такую форму:



Напишем следующую программку:
import sys
from PyQt5 import QtCore, QtGui, uic
from PyQt5.QtWidgets import *

# прототип главной формы
class MainForm(QMainWindow):
    cnt = 0
    # конструктор
    def __init__(self):
        super(MainForm, self).__init__()

        # динамически загружает визуальное представление формы
        uic.loadUi("gui.ui", self)

        # связывает событие нажатия на кнопку с методом
        self.pushButton.clicked.connect(self.setLabelText)

        self.show()

    def setLabelText(self):
        self.cnt += 1
        self.pushButton.setText(str(self.cnt))




def main():
    app = QApplication(sys.argv)  # создаёт основной объект программы
    form = MainForm()  # создаёт объект формы
    app.exec()  # запускает приложение

if __name__ == "__main__":
    sys.exit(main())
Примечание 1: Qt Designer  содержит три вида шаблонов: QMainWindow, QDialog, QWidget для правильной работы тип используемого шаблона и объекта к которому привязываем графику, должны соответствовать друг другу.

Примечания 2: для обращения к элементу формы используем его имя заданное в Qt Designer.