mlupinのブログ

mlupinのブログ

PR

×

キーワードサーチ

▼キーワード検索

カレンダー

コメント新着

mlupin @ Re[1]:確定申告、ようやく終わる!(03/15) 藻緯羅さんへ いつもコメントありがとうご…
藻緯羅 @ Re:確定申告、ようやく終わる!(03/15) 原則、雑所得になるようですね。  以前は…
mlupin @ Re[1]:2025 我が家のいちご 7個収穫!(08/20) 藻緯羅さんへ いつもメッセージをありがと…
藻緯羅 @ Re:2025 我が家のいちご 7個収穫!(08/20) この酷暑の中で、  イチゴの収穫とは、驚…
昔の家電製品@ Re:今日の花 サルスベリ(百日紅)(07/30) 昔の家電製品は、0896241455 をどうぞ。
2022.01.27
XML
カテゴリ: Python
「PythonでGUIアプリ開発」の基礎 PyQt/PySide編 その10

以下は、リスト8●ボタンを押すとメッセージボックスを表示するプログラム(PyQt06.py)に筆者が、コメントを追加したもの。

# 「特集1 PythonでGUIアプリ開発」の基礎 PyQt/PySide編 その2
#
# ステップ07 ボタンとメッセージボックス
#
#『日経ソフトウエア』2021年11月号(p.61)
#
#
# リスト8●ボタンを押すとメッセージボックスを表示するプログラム(PyQt06.py)
#
from PyQt6.QtWidgets import *
# 「QMainWindow」クラスを継承した「pyqt06」クラスを記述。
class pyqt06(QMainWindow):
    #  「pyqt06」クラスのコンストラクタ(インスタンス生成時に
    #   呼び出されるメソッド)である「__init__」を記述。
    def __init__(self):
        #  「pyqt06」クラスの親クラスである「QMainWindow」クラスのコンストラクタを実行するコード。
        #   この記述がないと必要な初期処理が実行されない。
        super().__init__()
        # タイトルバー文字列の設定。
        #   「pyqt06」クラスのインスタンスは、(12)で変数「w」に代入され、「w」という名前で
        #   参照できるが、その名前はクラスの外部のみからしか利用できない。クラス内部から自分
        #   自身のインスタンスを呼び出すには、コンストラクタで指定した「self」という名前を使う。
        #   「setWindowTitle」メソッドに与えた「self.__class__.__name__」は、このクラスの名前で、
        #   中身は「pyqt06」。
        self.setWindowTitle(self.__class__.__name__)
        #  同様に「self」を使って、ラベルウィジェットの位置と大きさを設定する。
        self.setGeometry(100, 100, 250, 100)
        # (1)
        self.setContentsMargins(30, 30, 30, 30)
        # (2)「QPushButton」クラスのインスタンスを生成して「button」という名前で参照できるようにする。
        button = QPushButton('押してください', self)
        # (3) ボタンがクリックされた時のイベントハンドラとして、(5)の「buttonClicked」を指定する。       
        button.clicked.connect(self.buttonClicked)
        # (4) 「button」をセントラルウイジェットに表示するコード。
        self.setCentralWidget(button)
        #  「show」メソッドを呼び出して、表示する。
        self.show()
    # (5) 「QMessageBox」クラスの「information」メソッドを呼び出し、ダイアログを出す。
    def buttonClicked(self):
        QMessageBox.information(self, self.__class__.__name__, 'ありがとうございます!')
# プログラムを起動したときに最初に実行される。
app = QApplication([])
#  「pyqt06」クラスを生成すると、「def __init__(self):」が実行される。
w = pyqt06()
#  これを実行することで、GUIの画面がユーザーに表示される。


リスト8(pyqt06.py)の実行結果


<おまけ>
リスト8をJupiterNotebookで実行した結果。








お気に入りの記事を「いいね!」で応援しよう

最終更新日  2022.01.27 21:02:27
コメントを書く


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
X

Design a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: