QT入门Buttons之QCheckBox

2023-11-18

目录

一、界面布局介绍

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博客

 百度云盘:链接:https://pan.baidu.com/s/11b634VvKMIsGdahyBLpZ3Q   提取码:6666 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QT入门Buttons之QCheckBox 的相关文章

  • wkhtmltopdf 修补了 qt 吗?

    我正在尝试将多个 URL 转换为 PDF 但是 当我编译 wkhtmltopdf 或运行时apt get install wkhtmltopdf并尝试一下 它说 错误 此版本的 wkhtmltopdf 是针对未修补的 QT 版本构建的 并且
  • 包含 Qt 标头的正确方法是什么?

    到目前为止我知道几种方法 includeQt 类 include
  • QML改变图像颜色

    我搜索了如何对图像进行着色 格式为 svg 或 png 我尝试用一 个填充图像的矩形覆盖我的图像 但由于我的图像不是矩形 它会给整个矩形着色 而不仅仅是图像 可以用qml改变图像颜色吗 或者 是否可以使用 QPixmap 更改 qt 使用
  • 将 C++ 代码(本机客户端)移植到浏览器(Web 应用程序)

    我有一个使用 Qt creator SDK 编写的 C 模块 我想将此代码移植到任何网页上运行 而不会对最终用户损害源代码 用户应该能够在任何浏览器 Chrome Firefox Safari Explorer 上看到此模块的输出 而无需安
  • Qt 创建者 4.8.4。 Windows 7 - 64 位安装

    我在 QT 方面遇到了一些困难 我需要在学校使用它来完成一些 GUI 应用程序 我最近完成了以下步骤 1 mingw get inst 20120426 exefrom 来源锻造 http sourceforge net projects
  • Android 版 Qt 和 BoringSSL

    我正在开发一个基于 Qt 的 Android 应用程序 它使用 QSslSocket 下载数据 由于 Android 从 OpenSSL 转向 BoringSSL 因为依赖 OpenSSL 库的 Marshmallow Qt 程序在 And
  • QFileDialog 作为 TableView 的编辑器:如何获取结果?

    我正在使用一个QFileDialog作为某些专栏的编辑QTableView 这基本上有效 对一些焦点问题取模 请参阅here https stackoverflow com questions 22854242 qfiledialog as
  • 为什么anchors.centerIn不适用于Column元素?

    我有这段 QML 代码 Column spacing units gu 2 anchors fill parent centerIn parent Row spacing units gu 4 Row spacing units gu 4
  • 当给定 100k 项时,QListView 需要很长时间才能更新

    我在读取文件时遇到问题 具体是我想制作一本小字典 在我需要阅读的文件中有这样的内容 a Ph P6 a snsr CA a b c fb Dj a b c book i BS A except B gate oOPa y a font kQ
  • PySide6.1 与 matplotlib 3.4 不兼容

    当我只安装PySide6时 GUI程序运行良好 但是一旦我安装了matplotlib及其依赖包 包括pyqt5 则GUI程序将无法运行并输出以下错误消息 This application failed to start because no
  • QWebView等待加载

    bool MainWindow waitForLoad QWebView view QEventLoop loopLoad QTimer timer QObject connect view SIGNAL loadFinished bool
  • 使用 QPrinter 打印第 x 页(共 y 页)

    我使用 qt 从 html 代码生成 pdf 文件 QTextDocument document new QTextDocument document gt setHtml htmlContent QPrinter printer QPri
  • QGraphicsView 在完整布局中未最大化

    I have following GUI having four QGraphicView objects 正如您在每个视图下看到的那样 它有四个工具按钮 为了最大化视图 我连接了工具按钮的信号来隐藏其他三个视图的插槽 并将大小策略设置为扩
  • Qt ObjectName() 必须是唯一的吗?

    如标题所示的简单问题 如果我打电话setObjectName 在一个对象上 它是否必须是唯一的 或者只是因为约定而推荐 我已经子类化了QLabel 并希望自动为创建的对象命名 如果这是一个坏主意 我会找到一些设置随机唯一名称的方法 我实际上
  • 在 Qt 中构建 Android 项目不再有效

    所以我对 Android SDK NDK 和 Apache Ant 进行了一些更新 现在我无法构建任何 Android 项目 我收到一条警告 然后它说找不到 build xml 文件 错误 Warning Android platform
  • QListWidget 拖放项目从 Symbian 列表中消失

    我在实现带有可通过拖放重新排序的自定义项的 QListWidget 时遇到问题 问题是当我在某个项目上快速双击 非常短的拖放 时 该项目有时会从 QListWidget 中消失 这是我的小部件的构造函数 ListPopisiDragDrop
  • 隐藏 QLineEdit 闪烁光标

    我正在开发 QT v5 2 我需要隐藏闪烁的光标 插入符号 QLineEdit永久 但与此同时 我想要QLineEdit可编辑 因此 readOnly 和 或设置 editable false 对我来说不是一个选项 我已经改变了背景颜色QL
  • 关于在 Qt 中使用未记录的类

    使用无证文件是否安全QObjectUserData类和QObject setUserData in Qt 相反 你可以看看使用QObject setProperty http doc qt io qt 5 qobject html setP
  • 如何搭建qtwayland?

    我花了一整天的时间尝试使用QtWayland Compositor 1 0在 Qt 创建者中 我已经遵循了从那里开始的所有步骤https wiki qt io QtWayland https wiki qt io QtWayland但我收到
  • 使用 QSet 作为 Qt 地图容器中的键

    我需要一个映射 其中键是唯一的 并且每个键都是一组或自定义 POD 结构 其中包含 3 个数据项 这些值只是指向对象实例的指针 从阅读Qt 的 QMap 与 QHash 的文档 http qt project org doc qt 4 8

随机推荐

  • 设计原则学习之里氏替换原则

    以下内容均来自抖音号 it楠老师教java 的设计模式课程 1 原理概述 子类对象 objectofsubtype derivedclass 能够替换程序 program 中父类对象 objectofbase parentclass 出现的
  • C语言程序的undefined,c语言中undefined reference to ""怎么解决

    2 gcc c test c gcc c main c 得到两个 o 文件 一个是 main o 一个是 test o 然后我们链接 o 得到可执行程序 3 gcc o main main o这时 你会发现 报错了 4 main o In
  • python安装pandas失败问题

    开始使用pip install pandas报错 后来将pip语句更换为 pip default time 100 install pandas 成功安装pandas
  • 朋友拿下字节27K的offer,实名羡慕了....

    最近有朋友去字节面试 面试前后进行了20天左右 包含4轮电话面试 1轮笔试 1轮主管视频面试 1轮hr视频面试 据他所说 80 的人都会栽在第一轮面试 要不是他面试前做足准备 估计都坚持不完后面几轮面试 其实 第一轮的电话面试除了一些常规的
  • IBM也下场LLM了,自对齐、高效率的单峰驼Dromedary来了

    近期IBM Research发布了dromedary 并指出这个模型通过一种称为自对齐 SELF ALIGN 的新方法 结合了原则驱动 principle driven 的推理和LLM的生成能力 用于AI代理的自我对齐 使人类的监督最少化
  • 链式调用demo

    所谓链式调用就是调用完一个函数后还能再继续调用其它函数 这样大大减少了代码量 尤其是项目比较大的时候 逻辑集中清晰明了 且易于查看和修改 react hooks处理hooks原理用到了链式调用 fiber memorizedStaste h
  • 费马小定理题

    费马小定理 假如p是质数 且gcd a p 1 那么 A题HDU 4704 首先是挡板法 隔板法 然后用即可 高中数学范围不多叙述 然后得到答案是 这题读入数据大 就算快速幂也肯定TLE 所以用费马小定理 把数据规模降到int 范围内 时间
  • Re: Programming in C with Bluetooth Sockets

    Re Programming in C with Bluetooth Sockets This is the function run by the bluetooth device that will recieve the data c
  • 若依框架注册功能

    后台 逻辑峰的博客 CSDN博客 若依框架登录注册 前台
  • 响应式开发

    响应式开发是指一个网站能够兼容多个终端 不同屏幕分辨率的终端上网页展示方式是不一样的 实现原理 根据用户的行为以及设备的不同 实现页面的不同展示效果 具体的开发过程 1 设置视口标签 width 视口的宽度 device width 设备的
  • Java使用S7协议连接西门子PLC1200、1500

    Java使用S7协议连接西门子PLC1200 1500 1 引入s7包 2 测试代码 可参考使用 1 引入s7包 使用 https github com s7connector s7connector
  • CSDN周赛59期简要题解

    本期题目相对比较友好 而且在比赛报名界面还提示了非编程题考察的章节 诚不欺我 本期非编程题需要选手阅读的章节是第2章 逆向思考 从递推到递归 2 3节 堆栈和队列 遍历的数据结构 选择和判断都考到了栈的数据结构 稍微有点基础知识找出正确答案
  • 21_OpenCV复制矩阵

    本文是关于矩阵复制的相关函数 目录 1 cv repeat 根据需要重复多次复制 2 实现矩阵的转置操作 cv transpose 1 cv repeat 根据需要重复多次复制 函数原型 void cv repeat cv InputArr
  • java.net.SocketTimeoutException: Read timed out问题排查

    欢迎关注博主微信订阅号 问题日志 java sql SQLException I O Error Read timed out at net sourceforge jtds jdbc TdsCore executeSQL TdsCore
  • Windows安装Apache Maven 3.5.4

    一 安装前的准备 1 1 官网下载Apache Maven Maven 3 6 3 此时最新版 的下载地址 https maven apache org download cgi Maven其他版本的下载地址 https archive a
  • 服务器启动显示按f1f2f10,电脑开机提示按f1f2f5 电脑开机要按F1F2F5

    电脑开机要求按F1 F2 F3或F5 有朋友跟我反应说他的XP系统 开机的时候要手动按F1才可以进WIN程序 那怎么改成默认的呢 可以尝试下以下方法 方法一 开启计算机或重新启动计算机后 及时按下 Del 键进入BIOS的设置界面 随便点击
  • Android:JNI与NDK(二)交叉编译与动态库,静态库

    本篇目录 一 前言 本篇主要以window开发环境为背景介绍一下NDK开发中需要掌握的交叉编译等基础知识 选window系统主要是照顾大多数读者 mac linux操作系统基本是同样适用的 交叉编译就是在A平台编译出可以在B平台执行的文件
  • J-Link仿真器与JTAG和SWD下载与接线

    目录 1 JTAG 1 1JTAG今天被用来主要的三大功能 1 2JTAG引脚 1 3可选引脚 2 SWD 2 1 SWD引脚 2 2 可选择引脚 2 3 JTag和SWD模式引脚定义 3 J Link仿真器 4 IAR与MDK配置两种下载
  • lol服务器位置峡谷之巅,lol峡谷之巅

    英雄联盟峡谷之巅第六赛季的奖励正式的公布了 这次只要排位赛胜场最多的2000名玩家就可以领取到奥术师佐伊至臻的皮肤 很多玩家还不清楚在哪领取峡谷之巅第六赛季的奖励 下面就来为大家分享一下地址 英雄联盟的官方在7月6日的下午5点发布了最新的峡
  • QT入门Buttons之QCheckBox

    目录 一 界面布局介绍 1 布局器中的位置及使用 2 常用属性 二 属性功能介绍 1 常用信号 2 测试信号stateChanged int 3 组合框效果 三 Demo展示 此文为作者原创 转载标明出处 一 界面布局介绍 1 布局器中的位