📜  PyQt5 – 复选框的 checkState() 方法(1)

📅  最后修改于: 2023-12-03 15:18:50.029000             🧑  作者: Mango

PyQt5 – 复选框的 checkState() 方法

简介

在PyQt5中,复选框(Checkbox)是一个常见的控件,它允许用户选择或取消选择一个或多个选项。复选框有一个 checkState() 方法,可以返回一个 QCheckBoxState 枚举值。这个值表示复选框当前的状态,可以是“选中”、“未选中”或“半选中”状态。

例子

下面是一个简单的例子,展示了如何使用 checkState() 方法获取复选框的状态:

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QCheckBox, QVBoxLayout

class CheckBoxWidget(QWidget):

    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):

        # 创建复选框
        self.checkbox1 = QCheckBox('复选框 1', self)
        self.checkbox2 = QCheckBox('复选框 2', self)

        # 创建垂直布局
        vbox = QVBoxLayout()
        vbox.addWidget(self.checkbox1)
        vbox.addWidget(self.checkbox2)

        # 绑定信号和槽
        self.checkbox1.stateChanged.connect(self.showState)
        self.checkbox2.stateChanged.connect(self.showState)

        self.setLayout(vbox)

        self.setGeometry(300, 300, 250, 150)
        self.setWindowTitle('复选框演示')
        self.show()

    def showState(self):
        # 获取复选框的状态
        state1 = self.checkbox1.checkState()
        state2 = self.checkbox2.checkState()

        # 打印状态信息
        print('状态 1:', state1)
        print('状态 2:', state2)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = CheckBoxWidget()
    sys.exit(app.exec_())

在上面的例子中,我们创建了两个复选框,并将它们添加到一个垂直布局中。我们还绑定了复选框的 stateChanged() 信号和 showState() 槽。每当复选框的状态发生变化时,showState() 槽就会被调用,并打印出复选框的状态信息。

枚举值

QCheckBoxState 枚举值是一个整数,表示复选框当前的状态。它有以下三个值:

  • Qt.Unchecked:未选中
  • Qt.Checked:选中
  • Qt.PartiallyChecked:半选中

可以使用以下方式获取复选框的状态:

state = checkbox.checkState()

可以使用以下方式设置复选框的状态:

checkbox.setCheckState(state)
总结

在PyQt5中,复选框(Checkbox)是一个常见的控件,它可以使用 checkState() 方法获取当前的状态,包括“选中”、“未选中”和“半选中”状态。当复选框的状态发生变化时,可以通过绑定 stateChanged() 信号和槽来处理。