Python | GUIアプリのclass初期化方法

GUI App

Python GUIアプリのclass初期化方法を説明する。下記GUIアプリを例に説明する。

#!/usr/bin/env python3

import sys
from PyQt6.QtWidgets import QApplication, QWidget, QLabel


class GuiWindow(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)
        self.label0 = QLabel('ラベル0', self)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = GuiWindow()
    window.show()
    sys.exit(app.exec())

def __init__(self, parent=None):

parentはUIの親子関係を設定するものである。ここではこのclassが継承しているウィジェットQWidgetが最上位の親になる。parent=Noneと記載しているのは、このアプリが別のウィジェットの子として呼び出される場合にparentを引数として受け入れられるようにするためである。

今回はparentを設定する必要が無いためif文の中からwindow = GuiWindow()で呼び出すときは()内に何も入れていないが、parentを設定する場合はwindow = GuiWindow(parent=○○)とする。

super().__init__(parent)

super()は親のことである。つまりこの関数は親であるQWidgetのinit関数を実行するという意味である。

if __name__ == ‘__main__’:

if __name__ == ‘__main__’: については下記記事を参照。

まとめ

Python GUIアプリのclass初期化方法を説明した。

コメント