[Qt基础内容-04] QCheckBox
QCheckBox
本文主要根据QT官方帮助文档以及日常使用,简单的介绍一下QCheckBox的功能以及使用
简介#
QCheckBox是一个按钮,其典型的应用场景就是表示一种特性,应用可以选择启用和不启用。同样的QCheckBox也可以设置互斥(Exclusive)这个属性,具体请参看前篇[Qt 基础-03] QRadioButton
-
可以和QButtonGroup联用,将不同属性的按钮区分起来,就像官方帮助文档里描述的那样。
-
可以像QPushButton一样,通过设置text来设置对应的快捷键
QCheckBox *check = new QCheckBox("&Feature");
这样,就设置了一个快捷键"Alt + F",代替鼠标按钮来用快捷键进行选中。
-
三态属性
QCheckBox有一个属性:
tristate : bool
此属性用于标识QCheckBox是否是一个三态复选框。使用isTristate来判断是三态复选框、使用setTristate来设置三态属性。
这个属性一个经典的应用场景是用在一个表格的表头,用于全选功能,当全部选中时,为选中状态;没有全部选中,就显示部分选中状态;没有选中时,就显示未选中状态。效果如下图:
信号#
关于QCheckBox的信号和槽,除了之前说过的按钮的基本信号,如鼠标点击(clicked)等,其比较常用的是stateChanged这个信号
-
stateChanged
该信号的原型为:
void stateChanged(int state);
连接这个信号,根据按钮的状态执行相应的操作。
QCheckBox *checkBox = new QCheckBox(this); connect(checkBox, &QCheckBox::stateChanged, [] (int state) { qDebug() << state; });
样式设计#
QCheckBox的样式设计和之前写的QRadioButton差不多,请移步[Qt 基础-03] QRadioButton
然后还有一个关于设置QCheckBox上的勾选框的样式,请参看这篇Qt QCheckBox设置复选框的大小
作者:师从名剑山
出处:https://www.cnblogs.com/codegb/p/16653439.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix