【QT】常用控件——按钮组

继承Widget

PushButton

设置图片,先导入图片资源,见:【QT】资源文件导入_复制其他项目中的文件到qt项目中_StudyWinter的博客-CSDN博客

在布局中添加图片

调整尺寸

toolButton

显示图片、文本

显示图片(图片和文字都有时,显示图片)

显示文字

透明

RadioButton 

单选按钮

四个中只能选一个,布局

默认选择一个,先改名

执行

捕获用户的选择

代码

#include "widget.h"
#include "ui_widget.h"
#include <QDebug>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);// 单选按钮,默认选中男ui->rBtn_man->setChecked(true);// 监听用户选择女connect(ui->rBtn_woman, &QRadioButton::clicked, this, [=]() {qDebug() << "选择女";});
}Widget::~Widget()
{delete ui;
}

用户最终的选择

加一个性别参数

代码

#include "widget.h"
#include "ui_widget.h"
#include <QDebug>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);// 单选按钮,默认选中男ui->rBtn_man->setChecked(true);this->gender = true;// 监听用户选择女connect(ui->rBtn_woman, &QRadioButton::clicked, this, [=]() {this->gender = false;});connect(ui->rBtn_man, &QRadioButton::clicked, this, [=]() {this->gender = true;});connect(ui->commit, &QRadioButton::clicked, this, [=]() {if (gender == true) {qDebug() << "选择的是男性";} else {qDebug() << "选择的是女性";}});}Widget::~Widget()
{delete ui;
}

结果

CheckBox 

复选按钮

监听价格实惠是否被选中,

法一:同样加属性

代码

#include "widget.h"
#include "ui_widget.h"
#include <QDebug>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);// 单选按钮,默认选中男ui->rBtn_man->setChecked(true);this->gender = true;// 监听用户选择女connect(ui->rBtn_woman, &QRadioButton::clicked, this, [=]() {this->gender = false;});connect(ui->rBtn_man, &QRadioButton::clicked, this, [=]() {this->gender = true;});connect(ui->commit, &QRadioButton::clicked, this, [=]() {if (gender == true) {qDebug() << "选择的是男性";} else {qDebug() << "选择的是女性";}});connect(ui->checkBox_2, &QRadioButton::clicked, this, [=]() {str = "价格实惠";});connect(ui->commit, &QRadioButton::clicked, this, [=]() {if (str == "价格实惠") {qDebug() << "选择的是价格实惠";}});}Widget::~Widget()
{delete ui;
}

结果

法二:

使用checkbox特有的信号

选中是2,取消是0

代码

#include "widget.h"
#include "ui_widget.h"
#include <QDebug>
#include <QCheckBox>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);// 单选按钮,默认选中男ui->rBtn_man->setChecked(true);this->gender = true;// 监听用户选择女connect(ui->rBtn_woman, &QRadioButton::clicked, this, [=]() {this->gender = false;});connect(ui->rBtn_man, &QRadioButton::clicked, this, [=]() {this->gender = true;});connect(ui->commit, &QRadioButton::clicked, this, [=]() {if (gender == true) {qDebug() << "选择的是男性";} else {qDebug() << "选择的是女性";}});connect(ui->checkBox_2, &QCheckBox::stateChanged, this, [=](int state) {qDebug() << state;});}Widget::~Widget()
{delete ui;
}

法一:代码:怎么没有1呢,半选中状态

ui->checkBox_2->setTristate(true);        // 第三种状态,半选中

法二:√

最好使用一种(代码或者控件),防止凌乱。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

web漏洞挖掘指南-前端跨域漏洞

web漏洞挖掘指南 前端跨域漏洞 如果你对网络安全入门感兴趣&#xff0c;那么你需要的话可以点击这里&#x1f449;【入门&进阶全套282G学习资源包免费分享&#xff01;】 一、何为跨域 1.设想一种场景&#xff0c;一个恶意网站上嵌入了一个iframe标签去加载银行的登陆页…

优化大型机床装配调度:项目管理软件的应用方法

最近&#xff0c;Zoho Projects项目管理软件的一位资深客户&#xff0c;跟我们分享了他是如何把Projects应用于大型机床装配的复杂调度。小Z觉得特别有必要&#xff0c;把各行各业的成功应用和实践经验发布出来。在取得这位资深用户同意后&#xff0c;我们推出了本篇文章&#…

vcruntime140.dll如何修复,五种修复vcruntime140.dll方法分享

当我们在运行某些程序时&#xff0c;可能会遇到“找不到VCRuntime140.dll”的错误。这个错误通常表示我们的系统中缺少某个重要的动态链接库文件&#xff0c;而VCRuntime140.dll正是其中之一。本文将详细介绍如何修复这个问题。 一、问题出现的原因 首先&#xff0c;我们需要了…

2.3 如何使用FlinkSQL读取写入到JDBC(MySQL)

1、JDBC SQL 连接器 FlinkSQL允许使用 JDBC连接器&#xff0c;向任意类型的关系型数据库读取或者写入数据 添加Maven依赖 <dependency><groupId>org.apache.flink</groupId><artifactId>flink-connector-jdbc</artifactId><version>3.1…

MySQL双主一从高可用

MySQL双主一从高可用 文章目录 MySQL双主一从高可用环境说明1.配置前的准备工作2.配置yum源 1.在部署NFS服务2.安装主数据库的数据库服务&#xff0c;并挂载nfs3.初始化数据库4.配置两台master主机数据库5.配置m1和m2成为主数据库6.安装、配置keepalived7.安装部署从数据库8.测…

用 JHipster Azure Spring Apps 构建和部署 Spring 应用

作者&#xff1a;Hang Wang 排版&#xff1a;Alan Wang 此教程将向您展示如何使用 React、Spring Boot 和 PostgreSQL 在 Azure 上构建和部署全栈 Web 应用程序&#xff0c;由 JHipster Azure Spring Apps 提供支持。 JHipster Azure Spring Apps 为全栈 Web 开发提供了全面的…

虚拟现实VR技术在医疗行业的应用介绍

虚拟现实 (VR) 虽然经常与游戏联系在一起&#xff0c;但不可否认&#xff0c;未来科技少不了虚拟现实&#xff0c;其应用可以彻底改变许多行业。在医疗领域&#xff0c;无数人正在探索 VR 可以帮助患者和医疗从业者实现更好的治疗结果治疗方式&#xff0c;比如在手术、疼痛管理…

下拉选择器的树状结构图

类似&#xff1a;【Vue-Treeselect 和 vue3-treeselect】树形下拉框 一&#xff1a;图 二&#xff1a;如果有多层级的数据结构&#xff0c;可以用treeselect插件实现 1、安装&#xff1a; npm install --save riophae/vue-treeselect 2、实现&#xff1a; <el-form ref&qu…

[计算机入门] 应用软件介绍(娱乐类)

3.21 应用软件介绍(娱乐类) 3.21.1 音乐&#xff1a;酷狗 音乐软件是一类可以帮助人们播放、管理和发现音乐的应用程序。它们提供了丰富的音乐内容&#xff0c;用户可以通过搜索、分类浏览或个性化推荐等方式找到自己喜欢的歌曲、专辑或艺术家。音乐软件还通常支持创建和管理…

【学习笔记】RabbitMQ-5 消息的可靠性投递 以及示例代码

参考资料 RabbitMQ官方网站RabbitMQ官方文档噼咔噼咔-动力节点教程 文章目录 八、RabbitMQ的确认机制 -confirm8.1 Confirm 模式简介8.2 具体代码设置8.2.1 **设置思路**&#xff1a;8.2.2 **代码实现**8.2.2.1 开启生产者的确认模式.8.2.2.2 实现接口ComfirmCallback8.2.2.3 配…

Git 分布式版本控制工具

目录 1. 前言1.1 什么是Git1.2 使用Git能做什么 2. Git概述2.1 Git简介2.2 Git下载与安装 3. Git代码托管服务3.1 常用的Git代码托管服务3.2 码云代码托管服务3.2.1 注册码云账号3.2.2 登录码云3.2.3 创建远程仓库3.2.4 邀请其他用户成为仓库成员 4. Git常用命令4.1 Git全局设置…

Flume 整合 Kafka

1.背景 先说一下,为什么要使用 Flume + Kafka? 以实时流处理项目为例,由于采集的数据量可能存在峰值和峰谷,假设是一个电商项目,那么峰值通常出现在秒杀时,这时如果直接将 Flume 聚合后的数据输入到 Storm 等分布式计算框架中,可能就会超过集群的处理能力,这时采用 Kaf…

品牌创意二维码营销活动:MoneyLion 在纽约全城“撒钱”,月增百万级曝光!

在2023年4月——金融知识月&#xff0c;MoneyLion 在纽约策划了一场轰动全城的“撒钱”活动&#xff01; 在开始介绍这场极具创意的活动之前&#xff0c;我们先来了解一下MoneyLion这家公司。MoneyLion 是一家私营金融科技公司&#xff0c;为消费者提供贷款、财务咨询和投资服…

Apache Doris (四十二): RECOVER数据删除恢复

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频 目录

HTML 常用标签及练习

常用标签 <head>中的标签 概述 head中的内容不显示到页面上 标签说明<title>定义网页的标题<meta>定义网页的基本信息&#xff08;供搜索引擎&#xff09;<style>定义CSS样式<link>链接外部CSS文件或脚本文件<script>定义脚本语言<…

源码编译安装部署lnmp

源码编译安装部署lnmp 文章目录 源码编译安装部署lnmp1.简介&#xff1a;2.环境说明&#xff1a;3.部署前的准备工作4.安装nginx4.1.进入官网拉取nginx源码包4.2.通过IP地址访问nginx的web页面 5.安装mysql5.1.安装依赖包5.2.创建用户和组5.3.下载源码包并解压到/usr/local/5.4…

Helm upgrade 时 no matches for kind “xxxx“ in version “xxxx“ 问题处理

1. 问题 kubernetes 升过级&#xff0c;但是 helm release 旧版本中有新版本 api 弃用的 version。 在 helm upgrade 时就出现类似如下版本不匹配的错误&#xff0c;导致 helm upgrade 失败。 当然 helm uninstall 再重新安装可能可以跳过这个问题&#xff08;只要 charts 不再…

移动端1px-从基本原理到开源解决方案介绍

1px 不够准确&#xff0c;应该说成 1 物理像素 为什么有 1px 这个问题&#xff1f;实现 1px 有哪些方法&#xff1f;这些方法分别有哪些优缺点&#xff1f;开源项目中使用的哪些解决方案&#xff1f;如何在项目中处理 1px 的相关问题&#xff1f; 基本概念 首先&#xff0c;我们…

给cmd控制台程序 套壳 美化

给cmd控制台程序套壳美化&#xff0c;可以获取程序的标准输出和报错信息。 # _*_ coding: utf-8 _*_ """ 控制台程序启动器&#xff0c;杜绝黑窗口。 Time: 2023/10/18 15:28 Author: Jyun Version: V 0.1 File: main.py Blog: https://ctrlcv.…

Python中Numpy的应用技巧

目录 1. 什么是 NumPy?2. NumPy 中的数组2.1. 创建数组2.2. 用Numpy的数据2.2.1. OpenCV2.2.2. Pandas 3. 数学计算3.1. 四则计算3.1.1. 矩阵乘法3.1.2. 点乘 3.2. 求逆矩阵与伪逆矩阵3.3. 判断矩阵相等3.4. np.eye()函数生成对角阵 4. 统计4.1. 最大值、最小值、均值条件4.2.…