QCheckBox

本文主要根据QT官方帮助文档以及日常使用,简单的介绍一下QCheckBox的功能以及使用

简介

QCheckBox是一个按钮,其典型的应用场景就是表示一种特性,应用可以选择启用和不启用。同样的QCheckBox也可以设置互斥(Exclusive)这个属性,具体请参看前篇[Qt 基础-03] QRadioButton

  1. 可以和QButtonGroup联用,将不同属性的按钮区分起来,就像官方帮助文档里描述的那样。

  2. 可以像QPushButton一样,通过设置text来设置对应的快捷键

    QCheckBox *check = new QCheckBox("&Feature");

    这样,就设置了一个快捷键"Alt + F",代替鼠标按钮来用快捷键进行选中。

  3. 三态属性

    QCheckBox有一个属性:
    tristate : bool
    此属性用于标识QCheckBox是否是一个三态复选框。使用isTristate来判断是三态复选框、使用setTristate来设置三态属性。
    这个属性一个经典的应用场景是用在一个表格的表头,用于全选功能,当全部选中时,为选中状态;没有全部选中,就显示部分选中状态;没有选中时,就显示未选中状态。效果如下图:

信号

关于QCheckBox的信号和槽,除了之前说过的按钮的基本信号,如鼠标点击(clicked)等,其比较常用的是stateChanged这个信号

  1. 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的更多相关文章

  1. [Qt基础内容-08] Qt中MVC的M(Model)

    Qt中MVC的M(Model)简单介绍 Qt有自己的MVC框架,分别是model(模型).view(视图).delegate(委托),这篇文章,简单的介绍以下Qt中有关model(模型)的类以及一些基 ...

  2. JavaScript基础入门04

    目录 JavaScript 基础入门04 JavaScript 对象 介绍 关于键名 对象的引用 语句和表达式需要注意的地方 对象属性常见的操作 with语句 JSON 特点 语法规则 JSON合法示 ...

  3. 034 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 01 流程控制概述

    034 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 01 流程控制概述 本文知识点:Java中的流程控制相关概念的认识 三大流程控制语句结构的简介 顺序 ...

  4. 自动化kolla-ansible部署ubuntu20.04+openstack-victoria之基础配置-04

    自动化kolla-ansible部署ubuntu20.04+openstack-victoria之基础配置-04 欢迎加QQ群:1026880196 进行交流学习 近期我发现网上有人转载或者复制原创博 ...

  5. iOS系列 基础篇 04 探究视图生命周期

    iOS系列 基础篇 04 探究视图生命周期 视图是应用的一个重要的组成部份,功能的实现与其息息相关,而视图控制器控制着视图,其重要性在整个应用中不言而喻. 以视图的四种状态为基础,我们来系统了解一下视 ...

  6. 基于C/S架构的3D对战网络游戏C++框架 _04客户端详细设计与OpenGL、Qt基础

    本系列博客主要是以对战游戏为背景介绍3D对战网络游戏常用的开发技术以及C++高级编程技巧,有了这些知识,就可以开发出中小型游戏项目或3D工业仿真项目. 笔者将分为以下三个部分向大家介绍(每日更新): ...

  7. IO基础内容(File)

    JavaIO基础内容 IO技术概述 Output 把内存中的数据存储到持久化设备上这个动作称为输出(写)Output操作 Input 把持久设备上的数据读取到内存中的这个动作称为输入(读)Input操 ...

  8. ROS_Kinetic_09 ROS基础内容(四)

    ROS_Kinetic_09 ROS基础内容(四) 参考网址: http://wiki.ros.org/cn/ROS/Tutorials/UsingRosEd http://wiki.ros.org/ ...

  9. ROS_Kinetic_06 ROS基础内容(三)

    ROS_Kinetic_06 ROS基础内容(三) 先插入一段闲话,关于android的碎片化,无非集中于版本过多,型号各异,品牌杂乱等,似乎这是开源软件无法摆脱的宿命,ROS似乎也在这条路上越走越远 ...

  10. ROS_Kinetic_05 ROS基础内容(二)

    ROS_Kinetic_05 ROS基础内容(二) 1. ROS节点node 官网教程:http://wiki.ros.org/cn/ROS/Tutorials/UnderstandingNodes ...

随机推荐

  1. hive表元数据读取不到

    MetaException(message:java.lang.UnsupportedOperationException: Storage schema reading not supported) ...

  2. Java代码打成jar后 classgetClassLoadergetResource("")返回为null

    用maven打成jar包后,Main.class.getClassLoader().getResource("")为null. 示例: public static void mai ...

  3. centOS7安装nginx及nginx配置

    安装所需插件1.安装gccgcc是linux下的编译器在此不多做解释,感兴趣的小伙伴可以去查一下相关资料,它可以编译 C,C++,Ada,Object C和Java等语言 命令:查看gcc版本 gcc ...

  4. 区分PO、VO、 BO、 DTO、 POJO

      分层领域模型规约: DO(Data Object):此结构与数据库表结构一一对应,通过DTO向上传输数据源对象. DTO(Data Transfer Object):数据传输对象,Service ...

  5. 跟着源码学IM(九):基于Netty实现一套分布式IM系统

    本文作者小傅哥,原题"使用DDD+Netty,开发一个分布式IM(即时通信)系统".为了提升阅读体验,有大量修订和改动,感谢原作者. 0.系列文章 <跟着源码学IM(一):手 ...

  6. Android增加USB Camera摄像头驱动支持

    一般情况下kernel需要添加以下宏 ================================= CONFIG_VIDEO_DEV=yCONFIG_VIDEOBUF2_CORE=yCONFIG ...

  7. 基于STC8G1K08的CH549单键进入USB下载模式实验

    一.实验原因 CH552或CH549进入USB下载,通常需要两个按键,一个控制电源的通断,一个通过串联电阻(一头接VCC或V33)冷启动时抬高UDP电平.时序上是这样的:断电--按下接UDP的轻触开关 ...

  8. 实现windows下简单的自动化窗口管理

    转载或者引用本文内容请注明来源及原作者 一.问题描述 用户的应用场景非常简单:一个无主播的线上弹幕游戏,需要定时开启和关闭直播,直播平台是在Windows端的某播伴侣. 二.分析需求 首先需要定时任务 ...

  9. 连接Redis 错误的解决方法: It was not possible to connect to the redis server(s); to create a disconnected multiplexer

    The error you are getting is usually a sign that you have not set abortConnect=false in your connect ...

  10. SpringCloud Alibaba(一) - Nacos 服务注册与发现,OpenFeign远程调用

    1.基础项目过目介绍 1.1 数据库创建 1.2 项目模块分布 1.3 测试http接口调用 1.3.1 http接口调用配置类 //http接口调用配置类 @Configuration public ...