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

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

PyQt5 – 复选框的 setChecked() 方法

在 PyQt5 中,复选框 是一种普遍使用的小部件,允许用户选择或取消选择一个或多个选项。复选框的 setChecked() 方法可用于设置复选框的选中状态。这篇文章将向您介绍 setChecked() 方法及其在 PyQt5 中的使用。

setChecked() 方法

setChecked() 方法是 PyQt5 中非常实用的方法之一,它允许程序员设置一个复选框的选中状态。该方法接受一个 bool 类型的参数,表示复选框是否应该被选中。例如,将一个复选框设置为选中状态可以使用以下代码:

checkbox.setChecked(True)

相反,要取消选中一个复选框,则可以使用以下代码:

checkbox.setChecked(False)
在 PyQt5 中使用 setChecked() 方法

在 PyQt5 中,您需要实例化一个复选框对象,并使其成为一个小部件。以下是一个简单的 PyQt5 程序,其中使用 setChecked() 方法来设置复选框的选中状态:

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

class App(QWidget):

    def __init__(self):
        super().__init__()
        self.title = 'PyQt5 – SetChecked Method'
        self.initUI()

    def initUI(self):
        self.setWindowTitle(self.title)

        checkBox = QCheckBox('Check me!')
        checkBox.setChecked(True)
        checkBox.stateChanged.connect(self.changeTitle)

        vbox = QVBoxLayout()
        vbox.addWidget(checkBox)
        self.setLayout(vbox)

        self.show()

    def changeTitle(self, state):
        if state == QtCore.Qt.Checked:
            self.setWindowTitle('checkbox checked')
        else:
            self.setWindowTitle('checkbox not checked')

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

在上面的代码中,我们创建了一个名为 checkBox 的 QCheckBox 对象,使用 setChecked() 方法设置它的选中状态为 True。该复选框在 QVBoxLayout 中添加为一个部件,并将 self 设置为其布局。最后,我们定义了一个名为 changeTitle 的函数,用来改变窗口的标题。

运行该程序,将会看到一个已选中的复选框。如果单击它来取消选中,窗口的标题将更改为“checkbox not checked”。

总结

setChecked() 是 PyQt5 中非常实用的方法之一,它允许程序员通过代码设置复选框的选中状态。在这篇文章中,我们介绍了该方法及其在 PyQt5 中的用法。我们还构建了一个简单的程序来演示该方法的使用。