PyQt5 チュートリアル - チェックボックス

胡金庫 2023年1月30日
  1. CheckBox の例
  2. CheckBox イベント
PyQt5 チュートリアル - チェックボックス

このチュートリアルでは、PyQt5 で QCheckBox を学習します。QCheckBox は、チェックまたはチェック解除できるオプションボタンです。ユーザーはチェックボックスグループから複数のオプションをチェックできます。

CheckBox の例

import sys
from PyQt5.QtWidgets import QWidget, QLabel, QHBoxLayout, QCheckBox, QApplication


class basicWindow(QWidget):
    def __init__(self):
        super().__init__()

        layout = QHBoxLayout()
        self.setLayout(layout)

        self.checkBoxA = QCheckBox("Select This.")
        self.labelA = QLabel("Not slected.")

        layout.addWidget(self.checkBoxA)
        layout.addWidget(self.labelA)

        self.setGeometry(200, 200, 300, 200)

        self.setWindowTitle("CheckBox Example")


if __name__ == "__main__":
    app = QApplication(sys.argv)
    windowExample = basicWindow()
    windowExample.show()
    sys.exit(app.exec_())

どこ、

self.checkBoxA = QCheckBox("Select This.")

self.checkBoxA は PyQt5 の QCheckBox ウィジェットのインスタンスです。与えられたテキスト-Select This.CheckBox の中空の四角の隣に表示されます。

PyQt5 チェックボックスの例

CheckBox イベント

基本的に、ユーザーはチェックボックスをオンまたはオフにし、状態変更信号に基づいてアクションを実行する必要があります。

import sys
from PyQt5.QtWidgets import QWidget, QLabel, QHBoxLayout, QCheckBox, QApplication
from PyQt5 import QtCore


class basicWindow(QWidget):
    def __init__(self):
        super().__init__()

        layout = QHBoxLayout()
        self.setLayout(layout)

        self.checkBoxA = QCheckBox("Select This.")
        self.labelA = QLabel("Not slected.")

        self.checkBoxA.stateChanged.connect(self.checkBoxChangedAction)

        layout.addWidget(self.checkBoxA)
        layout.addWidget(self.labelA)

        self.setGeometry(200, 200, 300, 200)

        self.setWindowTitle("CheckBox Example")

    def checkBoxChangedAction(self, state):
        if QtCore.Qt.Checked == state:
            self.labelA.setText("Selected.")
        else:
            self.labelA.setText("Not Selected.")


if __name__ == "__main__":
    app = QApplication(sys.argv)
    windowExample = basicWindow()
    windowExample.show()
    sys.exit(app.exec_())
self.checkBoxA.stateChanged.connect(self.checkBoxChangedAction)

スロットメソッド checkBoxChangeAction()CheckBox stateChanged シグナルに接続します。ユーザーがチェックボックスをオンまたはオフにするたびに、checkBoxChangeAction() が呼び出されます。

def checkBoxChangedAction(self, state):
    if QtCore.Qt.Checked == state:
        self.labelA.setText("Selected.")
    else:
        self.labelA.setText("Not Selected.")

state 引数は渡された CheckBox の状態で、labelA テキストは CheckBox がチェックされている場合は Selected. に、チェックされていない場合は Not Selected. に変わります。

PyQt5 CheckBox イベント

著者: 胡金庫
胡金庫 avatar 胡金庫 avatar

DelftStack.comの創設者です。Jinku はロボティクスと自動車産業で8年以上働いています。自動テスト、リモートサーバーからのデータ収集、耐久テストからのレポート作成が必要となったとき、彼はコーディングスキルを磨きました。彼は電気/電子工学のバックグラウンドを持っていますが、組み込みエレクトロニクス、組み込みプログラミング、フロントエンド/バックエンドプログラミングへの関心を広げています。

LinkedIn Facebook