「PythonでGUIアプリ開発」の基礎 PyQt/PySide編 その7
「PythonでGUIアプリ開発」の基礎 PyQt/PySide編 その7『日経ソフトウエア』2021年11月号「特集1 PythonでGUIアプリ開発」の基礎 PyQt/PySide編(p.59)ステップ04 QWidgetを「コンテナ」にステップ01 5行で作るPyQtプログラムステップ02 PySideも試してみようステップ03 タイトルバーとサイズ設定ステップ04 QWidgetを「コンテナ」にステップ05 QWidgetを継承して使うステップ06 メイン画面はQMianWindowでステップ07 ボタンとメッセージボックスステップ08 メニューに定番機能を実装ステップ09 「掛け算練習プログラム」以下は、記事中の「リスト5(PyQt03.py)」に筆者がコメントを付け加えたもの。# 「特集1 PythonでGUIアプリ開発」の基礎 PyQt/PySide編 その2## ステップ04 QWidgetを「コンテナ」に##『日経ソフトウエア』2021年11月号(p.59)### リスト5(PyQt03.py)#from PyQt6.QtCore import *from PyQt6.QtGui import *from PyQt6.QtWidgets import *app = QApplication([])# (1) QWidgetのインスタンスを作り、「w」という名前で、参照できるようにする。w = QWidget()# (2) タイトルバー文字列の設定。w.setWindowTitle('pyqt03')# (3) ラベルウィジェットの位置と大きさを設定するコード。w.setGeometry(100, 100, 250, 100)# (4) 格子(グリッド)状のレイアウトに使うQGridLayoutクラスのインスタンスを作り、# それを「w」のlayoutに代入する。w.layout = QGridLayout()# (5) 「w」の「setLlyout」メソッドに「w.layout」を代入する。w.setLayout(w.layout)# (6) 「QLabel」クラスのインスタンス作成。# 第2引数で、親となるオブジェクト(インスタンス)を指定している。# これを指定しなくても、プログラムは動くそうだが、指定する習慣をつけることを推奨するとのこと。label = QLabel('こんにちわ', w)# ラベルのフォント設定。label.setFont(QFont('MS 明朝', 25))# 中央ぞろえの設定。label.setAlignment(Qt.AlignmentFlag.AlignCenter)# (7) 「w.layout」の「addWidget」メソッドに「label」を渡して、配置する。w.layout.addWidget(label)# (8) 「w」の「show」メソッドを呼び出して画面に表示する。w.show()app.exec()<おまけ>JupiterNotebookで実行した結果。