[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);
此为CheckState中的内容

连接这个信号,根据按钮的状态执行相应的操作。
QCheckBox *checkBox = new QCheckBox(this);
connect(checkBox, &QCheckBox::stateChanged, [] (int state) {
qDebug() << state;
});
样式设计
QCheckBox的样式设计和之前写的QRadioButton差不多,请移步[Qt 基础-03] QRadioButton
然后还有一个关于设置QCheckBox上的勾选框的样式,请参看这篇Qt QCheckBox设置复选框的大小
[Qt基础内容-04] QCheckBox的更多相关文章
- [Qt基础内容-08] Qt中MVC的M(Model)
Qt中MVC的M(Model)简单介绍 Qt有自己的MVC框架,分别是model(模型).view(视图).delegate(委托),这篇文章,简单的介绍以下Qt中有关model(模型)的类以及一些基 ...
- JavaScript基础入门04
目录 JavaScript 基础入门04 JavaScript 对象 介绍 关于键名 对象的引用 语句和表达式需要注意的地方 对象属性常见的操作 with语句 JSON 特点 语法规则 JSON合法示 ...
- 034 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 01 流程控制概述
034 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 01 流程控制概述 本文知识点:Java中的流程控制相关概念的认识 三大流程控制语句结构的简介 顺序 ...
- 自动化kolla-ansible部署ubuntu20.04+openstack-victoria之基础配置-04
自动化kolla-ansible部署ubuntu20.04+openstack-victoria之基础配置-04 欢迎加QQ群:1026880196 进行交流学习 近期我发现网上有人转载或者复制原创博 ...
- iOS系列 基础篇 04 探究视图生命周期
iOS系列 基础篇 04 探究视图生命周期 视图是应用的一个重要的组成部份,功能的实现与其息息相关,而视图控制器控制着视图,其重要性在整个应用中不言而喻. 以视图的四种状态为基础,我们来系统了解一下视 ...
- 基于C/S架构的3D对战网络游戏C++框架_04客户端详细设计与OpenGL、Qt基础
本系列博客主要是以对战游戏为背景介绍3D对战网络游戏常用的开发技术以及C++高级编程技巧,有了这些知识,就可以开发出中小型游戏项目或3D工业仿真项目. 笔者将分为以下三个部分向大家介绍(每日更新): ...
- IO基础内容(File)
JavaIO基础内容 IO技术概述 Output 把内存中的数据存储到持久化设备上这个动作称为输出(写)Output操作 Input 把持久设备上的数据读取到内存中的这个动作称为输入(读)Input操 ...
- ROS_Kinetic_09 ROS基础内容(四)
ROS_Kinetic_09 ROS基础内容(四) 参考网址: http://wiki.ros.org/cn/ROS/Tutorials/UsingRosEd http://wiki.ros.org/ ...
- ROS_Kinetic_06 ROS基础内容(三)
ROS_Kinetic_06 ROS基础内容(三) 先插入一段闲话,关于android的碎片化,无非集中于版本过多,型号各异,品牌杂乱等,似乎这是开源软件无法摆脱的宿命,ROS似乎也在这条路上越走越远 ...
- ROS_Kinetic_05 ROS基础内容(二)
ROS_Kinetic_05 ROS基础内容(二) 1. ROS节点node 官网教程:http://wiki.ros.org/cn/ROS/Tutorials/UnderstandingNodes ...
随机推荐
- mysql5.7配置文件详解
8核心32G独立mysql服务器的配置文件如下: [client] port = 3306 socket = /data/mysql/mysql.sock [mysql] prompt = " ...
- springboot 多数据源(aop方式)
一.实现思路 在yml中定义多个数据源的配置,然后创建一个类DynamicDataSource去继承AbstractRoutingDataSource类 AbstractRoutingDataSour ...
- Qt开源作品3-串口调试助手
一.前言 这个作品很多年前就做了,经过了长达七八年的完善,当然也不是全身心的投入完善,也就是根据实际项目的需求不断完善的,尤其是模拟设备回复数据的功能,这个在很多用Qt做上位机开发非常实用,毕竟很多软 ...
- 23种设计模式实战:重学Java设计模式
23种设计模式实战PDF: 链接:https://pan.baidu.com/s/1XfjkBt19G7jZQfwk5wAV3w 提取码:1234
- [转]关于java中JButton的样式设置(的一些我们应该知道的函数)
1. 对JButton大小的设置 --因为JButen是属于小器件类型的,所以一般的setSize不能对其惊醒大小的设置,所以一般我们用 button.setPreferredSize(new Dim ...
- React 应用的 Nginx 缓存控制
典型 React 应用面临的缓存问题,可通过 Nginx 配置进行解决 通用部署 构建应用后,只需使用 Nginx 指向静态文件即可 server { listen 80; root /PATH/TO ...
- 解密Prompt45. 再探LLM Scalable Oversight -辩论、博弈哪家强
之前我们已经介绍过几个针对Scalable Oversight的解法,也就是当模型能力在部分领域超越人类标注者后,我们该如何继续为模型提供监督信号,包括 持续提升Verifier的能力,辅助人类提供监 ...
- GIS开发的基础优化策略
GIS开发的基础优化策略 1. GIS开发 空间字段要建对,类型明确,坐标系明确. 空间索引要建立,提高查询效率. 使用空间字段要谨慎,不用的地方不要查. 地图显示尽量用切片,用WMTS. WMS能用 ...
- Solution Set - “让朝阳洒向晚霞,在星空下涂鸦”
目录 0.「UR #12」「UOJ #182」a^-1 + b problem 1.「NOI Simu.」点 2.「集训队互测 2023」「QOJ #5100」卡牌游戏 3.「NOI Simu.」简单 ...
- SpringBoot(八) - 统一数据返回,统一分页工具,统一异常处理 (生成随机数,正则校验)
1.统一数据返回 使用逆向工程来进行测试,实体,mapper等省略: 1.1 直接使用 RequestResoult 1.1.1 RequestResoult 请求结果返回实体 //统一返回 实体 类 ...