QCheckBox复选框按钮
- 描述
- 一般用于给用户提供若干选项中的多选操作
- 比如:兴趣爱好(Python、C++、Java、...)
- 可以都选, 可以都不选, 可以选部分
- 左侧会有一个方框图标, 标识用户的选中状态
- 一般用于给用户提供若干选项中的多选操作
- 继承自:QAbstractButton
- 功能作用
- 创建复选框按钮
QCheckBox(parent=None) # 创建的同时设置父控件 QCheckBox(text, parent=None) # 创建的同时设置提示文本和父控件
- 常用继承父类操作
setIcon(QIcon) # 设置图标,图标位于方框和文本中间 setShortcut("Ctrl+A") # 设置快捷键 # 方法二:设置提示文本的时候在快捷字母前加&
- 设置是否三态
- 未选中、部分选中、被选中
-
setTristate(bool=True) # 设置是否支持复选框展示三种状态 isTristate() # 获取复选框是否支持展示三种状态
- 设置复选框状态
setCheckState(Qt.CheckState) # 设置复选框的状态 # 参数 Qt.Unchecked # 该项目未选中 Qt.PartiallyChecked # 部分选中 Qt.Checked # 真的被选中 checkState() # 获取复选框的状态 # 返回值 Qt.Unchecked # 返回 0 Qt.PartiallyChecked # 返回 1 Qt.Checked # 返回 2
- 可用信号
stateChanged(int state) # 选中或清除选中时, 发射此信号。发射当前复选框的状态(0, 1, 2) # 继承自QAbstractButton类 pressed() # 鼠标按下信号 released() # 鼠标释放信号(控件内松开鼠标/鼠标移出控件范围后) clicked(checked=False) # 单击信号(控件内按下+控件内释放),传递按钮是否被选中状态 toffled(bool checked) # 选中状态切换信号(一般在单选框或者复选框中使用),传递按钮是否被选中状态 # 继承自QWidget类 windowTitleChanged(QString) # 窗口标题改变信号,发射新的窗口名称 windowIconChanged(QIcon) # 窗口图标改变信号,发射图标对象 customContextMenuRequested(QPoint) # 自定义上下文菜单请求信号(鼠标右键按下发射信号),发射(传递)鼠标右键点击的坐标 setContextMenuPolicy(Qt.CustomContextMenu) # 设置控件自定义上下文菜单策略 # 参数: Qt.CustomContextMenu # 发射信号customContextMenuRequested(QPoint) Qt.DefaultContextMenu # 默认,调用对象方法contextMenuEvent()
- 示例代码
- QCheckBox创建和使用
from PyQt5.Qt import * import sys app = QApplication(sys.argv) window = QWidget() window.resize(500, 500) window.setWindowTitle('QCheckBox-复选框按钮') cbox1 = QCheckBox('排球 - 未选中' ,window) cbox2 = QCheckBox('篮球 - 部分选中', window) cbox3 = QCheckBox('足球 - 被选中', window) cbox1.move(30, 100) cbox2.move(180, 100) cbox3.move(350, 100) # 设置cbox1开启三种选择状态 cbox2.setTristate(True) # 设置按钮选中状态 # Qt.Unchecked # 该项目未选中 # Qt.PartiallyChecked # 部分选中 # Qt.Checked # 真的被选中 cbox1.setCheckState(Qt.Unchecked) cbox2.setCheckState(Qt.PartiallyChecked) cbox3.setCheckState(Qt.Checked) print(cbox1.checkState()) print(cbox2.checkState()) print(cbox3.checkState()) window.show() sys.exit(app.exec_())
- QCheckBox可用信号