一、QCheckBox 是 PyQt5 中的一个用于创建复选框的控件,以下是其一些常见方法和属性:
- setChecked: 设置复选框的选中状态。
- isChecked: 检查复选框是否被选中。
- text: 设置或获取复选框的文本。
- state: 获取复选框的状态(无、选中、不可用等)。
- TriState: 设置或获取复选框的“三态”(无、选中、部分选中)。
- name: 设置或获取复选框的名称。
- icon: 设置复选框的图标。
- checkState: 获取或设置复选框的检查状态(Qt.Unchecked, Qt.PartiallyChecked, Qt.Checked)。
- setTristate: 设置复选框是否支持三态。
- setAutoRepeat: 设置是否自动重复点击事件。
- setAutoRepeatDelay: 设置自动重复的延迟时间。
- setAutoRepeatInterval: 设置自动重复之间的间隔时间。
二、复选框的 ‘勾选’ 设置包括:
1. 复选框“是否”勾选
# 勾选
CheckBox.setChecked(Ture)
# 未勾选
CheckBox.setChecked(False)
2. 复选框“是否可以”勾选
# 不可勾选
CheckBox.setCheckable(Ture)
# 可以勾选
CheckBox.setCheckable(False)
注意:无论之前的复选框是否被勾选,CheckBox.setCheckable(False) 设置后,复选框都将默认变为未选中状态。但是 CheckBox 按钮可以点击(既可连接信号与槽)。
3. 复选框“勾选状态且不可”编辑
由于 CheckBox.setCheckable 的默认设置,要想实现‘勾选状态且不能编辑’的复选框,需要用到禁用或启用控件的方法——setDisabled,
禁用控件情况下可以编程改变勾选状态,但是无法进行界面交互。
# 按钮禁用
CheckBox.setDisabled(Ture)
# 按钮启用
CheckBox.setDisabled(False)
# 勾选
CheckBox.setChecked(True)
效果: