QT入门Buttons之QCheckBox

news2024/12/25 2:30:06

目录

一、界面布局介绍

1、布局器中的位置及使用

2、常用属性

二、属性功能介绍

1、常用信号

2、测试信号stateChanged(int)

 3、组合框效果

三、Demo展示


此文为作者原创,转载标明出处!

一、界面布局介绍

1、布局器中的位置及使用

 QCheckBox复选框常用的属性是多个设置,允许多选存在

2、常用属性

        跟QPushButton属性类似,这边加入个注意事项,就是通常从界面中拖动个在designer默认是没有独占性的,就是默认是多选的,但是我们可以勾上如下的属性,就能设置成单选了,如下:

 F5试下,发现只能勾选上一个了

二、属性功能介绍

1、常用信号

 发现除了基本的点击信号之外,还有个stateChanged(int)

2、测试信号stateChanged(int)

        拖动两个QCheckBox在界面上,同时将界面中选中某一个右击转到槽,信号就选择stateChanged,同时对两个都进行这个操作,会发现xx.cpp文件中多了两个槽函数,此时我们就需要在槽函数中进行添加如下:

void MainWindow::on_checkBox_stateChanged(int arg1)
{
    if(arg1==Qt::CheckState::Checked)
    {
        ui->checkBox_2->blockSignals(true);
        ui->checkBox_2->setCheckState(Qt::CheckState::Unchecked);
        ui->checkBox_2->blockSignals(false);
    }
    else
    {
        qDebug()<<u8"check1未选中";
    }
}

void MainWindow::on_checkBox_2_stateChanged(int arg1)
{
    if(arg1 ==Qt::CheckState::Checked)
    {
        ui->checkBox->blockSignals(true);
        ui->checkBox->setCheckState(Qt::CheckState::Unchecked);
        ui->checkBox->blockSignals(false);
    }
    else
    {
        qDebug()<<u8"check2未选中";
    }
}

 3、组合框效果

可以加入组合框,使用QButtonGroup来测试下效果:

添加声明:

QButtonGroup *m_buttonGroup;

构造函数添加:

 m_buttonGroup = new QButtonGroup(this);
 m_buttonGroup->addButton(ui->checkBox, 0);
 m_buttonGroup->addButton(ui->checkBox_2, 1);
 m_buttonGroup->addButton(ui->checkBox_3, 2);

 connect(m_buttonGroup, SIGNAL(buttonClicked(int)),
              this, SLOT(btnGroupSlot(int)));

最后槽函数中:

void MainWindow::btnGroupSlot(int idbtn)
{
    if (m_buttonGroup->button(idbtn)->isChecked())
    {
       switch(idbtn)
       {
       case 0:
           qDebug("checkBox is checked.");
           break;
       case 1:
           qDebug("checkBox2 is checked.");
           break;
       case 2:
           qDebug("checkBox3 is checked.");
           break;
       default:
           break;
       }
    }
}

实现效果:

三、Demo展示

我放到精灵球中了:

 

 推荐博客:精灵球Plus介绍_清风徐来Groot的博客-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/192998.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

除了console.log,你还用过console其它的属性么?

目录前言console.infoconsole.debugconsole.errorconsole.warnconsole.time 和 console.timeEndconsole.group 和 console.groupEndconsole.table前言 刚学习前端的时候&#xff0c;vue还没用vue-devtools&#xff0c;react还没用 React Developer Tools&#xff0c;我们经常通…

fastjson 1.2.47 RCE漏洞保姆级复现

1.漏洞概述 Fastjson提供了autotype功能&#xff0c;允许用户在反序列化数据中通过“type”指定反序列化的类型&#xff0c;Fastjson自定义的反序列化机制时会调用指定类中的setter方法及部分getter方法&#xff0c;那么当组件开启了autotype功能并且反序列化不可信数据时&…

Sklearn中的算法效果评估手段

我们曾在《算法效果评估&#xff1a;均方根误差&#xff08;RMSE&#xff09;/ 标准误差》一文中介绍过评估算法效果使用的主要方法&#xff1a;均方根误差&#xff08;RMSE&#xff09;&#xff0c;但在实际应用中&#xff0c;评估算法效果还有更多内容&#xff0c;本文我们以…

VsCode安装及修改插件存储位置

【官网】&#xff1a; https://code.visualstudio.com/ 【修改插件仓库】&#xff1a; 创建名为VSCODE_EXTENSIONS的环境变量&#xff0c;内容指向自定义的文件夹即可&#xff08;位置无需限制&#xff09;。 【需要安装的插件】&#xff1a;

SBOM的介绍与syft和grype的使用

文章目录SBOM介绍工具syftgrypeSBOM介绍 SBOM&#xff08;软件物料清单&#xff09;是给定产品的中所有软件组件&#xff08;专有和开源代码&#xff09;、开源许可证和依赖项的清单。它提供了对软件供应链以及可能存在的任何许可证合规性、安全性和质量风险的可见性。 SBOM可…

Hystrix如何达到高可用

小型电商网站的页面展示采用页面全量静态化的思想。数据库中存放了所有的商品信息,页面静态化系统,将数据填充进静态模板中,形成静态化页面,推入Nginx服务器。用户浏览网站页面时,取用一个已经静态化好的html页面,直接返回回去,不涉及任何的业务逻辑处理。 用户每次浏览…

python输出不重复的字符

项目场景&#xff1a; 输入一个字符串&#xff0c;把最左边的10个不重复的字符&#xff08;大小写算不同字符&#xff09;挑选出来。 如不重复的字符不到10个&#xff0c;则按实际数目输出。问题描述 输出一个字符串&#xff0c;包含字符串s最左边10个不重复的字符。不到10个…

Canal与Kafka数据传输协议protocol buffer

1.写在前面 实时数仓开发中&#xff0c;利用Canal伪装slave获取MySQL的增量数据&#xff0c;获取后的数据由Kafka生产者接收&#xff0c;交由Flink实时流计算。传输数据量较大时&#xff0c;会占用内存及带宽&#xff0c;所以考虑将数据序列化和反序列化操作&#xff0c;这里介…

KNN(K-近邻)算法

1、概述 KNN(K−NearestNeighbor)KNN \left( K-Nearest Neighbor \right)KNN(K−NearestNeighbor)是机器学习中最基础的算法之一。既可以用于分类也可以用于回归&#xff0c;KNNKNNKNN通过测量不同特征值之间的距离来进行分类。 2、实例理解 如果k3k 3k3&#xff0c;绿色圆点…

【Cocos新手入门】使用 cocos creator 创建单行文本输入框及多行文本输入框

本篇文章主要讲解使用 cocos creator 创建单行文本输入框及多行文本输入框&#xff0c;并绑定文本框获取文本输入数据的方法。 作者&#xff1a;任聪聪 日期&#xff1a;2023年2月2日 cocos引擎版本2.4.3 实际效果 单行文本效果、多行文本效果 说明&#xff1a;如果不清楚按钮…

jquery:表单请求、序列化+案例

表单请求提交原则name相同的表单提交&#xff0c;name出现多次&#xff0c;对应不同表单的值没有name&#xff0c;含有disabled&#xff08;禁用&#xff09;禁止提交多选单选下拉列表需要设置value属性才能取值表单提交事件名称写法描述提交方式method“get”get不安全取数据&…

30. 面向对象高级编程

1. __solts__ 正常情况下&#xff0c;当我们定义了一个class&#xff0c;创建了一个class的实例后&#xff0c;我们可以给该实例绑定任何属性和方法&#xff0c;这就是动态语言的灵活性。 from types import MethodTypeclass Student:def __init__(self):passdef set_num(sel…

OSCP_VULHUB_Matrix3

文章目录简介扫描ida汇编ssh登录/提权简介 下载地址&#xff1a; https://download.vulnhub.com/matrix/Machine_Matrix_v3.ova 环境&#xff1a; VMware 16虚拟机软件 Matrix3靶机IP地址&#xff1a;192.168.132.145 Kali的IP地址&#xff1a;192.168.132.139 Matrix3靶机与…

Shiro基础知识与集成应用

1、Shiro可以完成: 【认证、授权、加密、会话管理】、与Web集成、缓存等2、特点: 易于使用、全面、灵活、强力支持Web、兼容性强、社区支持 外部观看内部观看3、 登录认证:1)身份验证&#xff1a;一般需要提供如身份ID等一些标识信息来表明登录者的身份&#xff0c;如提供email…

Druid(德鲁伊)数据库连接池

文章目录一.数据库连接池的必要性(一).传统数据库连接模式的的步骤(二).传统数据库连接模式存在的问题二.数据库连接池技术(一).数据连接池的思想&#xff1a;(二).数据库连接池的任务&#xff1a;(三).数据库连接池的规模&#xff1a;(四).工作原理&#xff1a;(五).数据库连接…

5 -【Faster R-CNN】之 AnchorGenerator 代码精读

【Faster R-CNN】之 AnchorGenerator 代码精读1、anchor 的 size 和 aspect_ratios2、计算以中心坐标为 (0, 0) 的 anchor3、将 anchor 映射到原图上4、代码汇总anchor 的作用&#xff1a;anchor 是用来做辅助计算的&#xff0c;用于和 &#xff08;上节课说的&#xff0c;由RP…

共享模型之内存(一)

1.Java内存模型 1>.JMM即Java Memory Model,它定义了主存、工作内存抽象概念,底层对应着CPU寄存器、缓存、硬件内存、CPU指令优化等; 2>.JMM体现在以下几个方面: ①.原子性 - 保证指令不会受到线程上下文切换的影响; ②.可见性 - 保证指令不会受cpu缓存的影响; ③.有序…

大型会场活动线上保障方案

背景 为保证活动上线后的质量&#xff0c;大型会场活动上线前通常会预设一些线上可能出现的问题&#xff0c;提前制定保障方案。 这些与活动保障相关的问题可能与App端上的容器环境有关&#xff0c;也可能与大盘用户设备特征有关&#xff0c;问题的处理方案会影响活动的线上效…

《啊哈算法图的遍历》(14张图解)

目录 前言 一&#xff0c;dfs和bfs是什么 二&#xff0c;城市地图--图的深度优先遍历 三&#xff0c;最少转机--图的广度优先遍历 前言 &#x1f33c;说爱你&#xff08;超甜女声版&#xff09; - 逗仔 - 单曲 - 网易云音乐 1月22日一个女孩加了我&#xff0c;她和我聊音…

adb常用指令合集

adb文件管理指令 1.复制设备里的文件到电脑 adb pull <设备里的文件路径> [电脑上的目录] 电脑上的目录 参数可以省略&#xff0c;默认复制到当前目录 例&#xff1a;adb pull /data/tsplogtool /home/jxq/文档/场景魔方 2.复制电脑里的文件到设备 adb push <电脑上的…