在 PyQt 中,QCheckBox 是一个常用的控件,它用来表示一个可选的状态。
setChecked 和 setCheckState 是 QCheckBox 的两个方法,它们都用于设置 QCheckBox 的状态,但是有一些区别。
1、setChecked 方法
setChecked 方法用于设置 QCheckBox 的状态为选中(True)或未选中(False)。例如:
checkbox.setChecked(True) # 设置为选中状态
checkbox.setChecked(False) # 设置为未选中状态
2、setCheckState方法
setCheckState 方法用于设置 QCheckBox 的状态为选中(Qt.Checked)、半选中( Qt.PartiallyChecked)或未选中(Qt.Unchecked)。例如:
checkbox.setCheckState(Qt.PartiallyChecked) # 设置为半选中状态
checkbox.setCheckState(Qt.Checked) # 设置为选中状态
checkbox.setCheckState(Qt.Unchecked) # 设置为未选中状态
注:
在调用setCheckState方法前需要启用三态模式,即:
checkbox.setTristate(True) # 启用三态模式
QCheckBox启用三态模式的样例:
from PyQt5.QtWidgets import QApplication, QWidget, QCheckBox, QVBoxLayout
import sys
class Example(QWidget):