В этой статье мы напишем оконное приложение ООП-методом используя код из другой статьи.
При объектно-ориентированном методе код программы пишется через создание классов (Class) и функций (def). Поэтому после подключения необходимых библиотек создадим класс и назовём его MyWin.
from PyQt5 import QtWidgets
import sys
class MyWin(QtWidgets.QWidget):
в качестве параметров класса передадим ему другой класс - QWidget.
Далее определим конструктор класса и передадим ссылку на родительский компонент.
def __init__(self, parent=None):
QtWidgets.QWidget.__init__(self, parent)
После этого можно добавлять компоненты формы - надписи, кнопки, контейнеры, таблицы и другие виджеты а также назначать обработчики сигналов для кнопок, меню-баров.
self.label = QtWidgets.QLabel("<center>Привет, я открылось</center>")
self.btn = QtWidgets.QPushButton("Закрыть меня")
self.vbox = QtWidgets.QVBoxLayout()
self.vbox.addWidget(self.label)
self.vbox.addWidget(self.btn)
self.setLayout(self.vbox)
self.btn.clicked.connect(QtWidgets.qApp.quit)
Для создания объекта приложения и открытия окна пропишем условие if:
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
win = MyWin()
win.setWindowTitle("ООП стиль создания окна")
win.resize(350, 80)
win.show()
sys.exit(app.exec_())
Код программы можно скачать здесь.