【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.mzph.cn/news/110188.shtml

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

相关文章

容器安全 - 利用容器的特权配置实现对Kubernetes容器的攻击

《OpenShift / RHEL / DevSecOps 汇总目录》 文章目录 准备环境利用特权配置对Kubernetes容器攻击privileged hostpathprivileged hostpidprivilegedhostpathhostpidhostipchostnetwork 参考 通过将运行 Pod 的 privileged 设为 true&#xff0c;容器就以特权模式运行在宿主…

使用Python+selenium实现第一个自动化测试脚本

这篇文章主要介绍了使用Pythonselenium实现第一个自动化测试脚本&#xff0c;文中通过示例代码介绍的非常详细&#xff0c;对大家的学习或者工作具有一定的参考学习价值&#xff0c;需要的朋友们下面随着小编来一起学习学习吧 最近在学web自动化&#xff0c;记录一下学习过程。…

leeetcode_2530 执行k次操作后的最大分数

1. 题意 给定一个整数数组&#xff0c;每次可以取出一个数累加并丢弃&#xff0c;并将该数的1/3 向上取整放回。 执行k次操作后的最大分数 2. 题解 每次取插入后的最大值&#xff0c;所以需要大根堆。 STL里面用priority_queue<int> pq默认大根堆。 小根堆priority_…

快速解决 Resource not accessible by integration

简介 最近好久没有写博客了&#xff0c;今天在写开源项目 python-package-template 的时候&#xff0c;正好遇到一个问题&#xff0c;记录一下吧。本文将介绍 Resource not accessible by integration 的几种解决方案。 也欢迎大家体验一下 python-package-template 这个项目&…

黑白棋(Othello, ACM/ICPC World Finals 1992, UVa220)rust解法

你的任务是模拟黑白棋游戏的进程。黑白棋的规则为&#xff1a;黑白双方轮流放棋子&#xff0c;每次必须让新放的棋子“夹住”至少一枚对方棋子&#xff0c;然后把所有被新放棋子“夹住”的对方棋子替换成己方棋子。一段连续&#xff08;横、竖或者斜向&#xff09;的同色棋子被…

SpringCloud: sentinel热点参数限制

一、定义controller package cn.edu.tju.controller;import com.alibaba.csp.sentinel.annotation.SentinelResource; import com.alibaba.csp.sentinel.slots.block.BlockException; import org.springframework.web.bind.annotation.PathVariable; import org.springframewo…

Unity笔记--渲染顺序

目录 Unity中的渲染顺序一、Camera层二、透明类型&#xff08;先渲染不透明&#xff09;三、物体的SortingLayer&#xff08;越小越先渲染&#xff09;四、sorting order&#xff08;越小越先渲染&#xff09;五、RenderQueue &#xff08;越小越优先&#xff09;六、距离相机z…

【算法设计zxd】第6章 回溯法

目录 6.1 回溯法的设计技术 &#xff1a; 四皇后问题 回溯法&#xff1a; 算法框架&#xff1a; 思考题&#xff1a; 回溯算法的适用条件 【例6-1】求满足下列不等式的所有整数解&#xff1a; 6.2回溯算法的经典例题 【例6-2】装载问题  问题分析 计算模型  算法设计与描…

BookStack 详解及 Docker-Compose 部署

BookStack 是一款用于创建文档和文档管理的开源平台。它提供了一个直观且功能丰富的界面&#xff0c;可用于组织和管理各种文档&#xff0c;包括文档编写、编辑和共享。本文将介绍 BookStack 的核心功能&#xff0c;并展示如何使用 Docker-Compose 快速部署 BookStack。 BookS…

Pika v3.5.1发布!

Pika 社区很高兴宣布&#xff0c;我们今天发布已经过我们生产环境验证 v3.5.1 版本&#xff0c;https://github.com/OpenAtomFoundation/pika/releases/tag/v3.5.1 。 该版本不仅做了很多优化工作&#xff0c;还引入了多项新功能。这些新功能包括 动态关闭 WAL、ReplicationID…

BI零售数据分析,当代零售企业的核心竞争力

在数字化转型中&#xff0c;BI智能零售数据分析成为了极其重要的核心竞争力之一。通过对大数据的采集和分析&#xff0c;零售企业可以更好地了解消费者的需求和行为模式&#xff0c;从而做出更准确的决策。例如&#xff0c;通过分析消费者的购物历史、浏览记录等数据&#xff0…

小程序无感刷新

下载wechat-http依赖 npm install wechat-http封装请求拦截器和相应拦截器&#xff0c;借助refreshToken实现无感刷新 // 导入 http 模块 import http from wechat-http // 基础路径&#xff0c;同时需添加合法请求域名 http.baseURL https://live-api.itheima.net // 配置请…

CLIP模型原理

CLIP模型 CLIP(Contrastive Language-Image Pre-Training) 模型是 OpenAI 在 2021 年初发布的用于匹配图像和文本的预训练神经网络模型&#xff0c;是近年来在多模态研究领域的经典之作。OpenAI 收集了 4 亿对图像文本对&#xff08;一张图像和它对应的文本描述&#xff09;&a…

Messari发布Moonbeam简报,每日交易量稳步增长,首次公布利润数据

区块链数据公司Messari首次发布Moonbeam项目分析简报&#xff0c;从项目市值、链上数据表现、质押以及Moonbeam的技术优势XCM使用量等角度全面分析。这个再熊市初期上线的项目一直在默默开发&#xff0c;并在跨链互操作领域拥有了相当的实操成绩。我们翻译了Messari简报中的部分…

【Vue项目】通过设置全局的异常处理来统一处理后端返回的异常

文章目录 简介方法一创建统一异常处理模块使用axios拦截器处理异常在页面中使用异常处理 方法二创建全局异常处理函数在main.js中配置全局异常处理在网络请求中捕获异常 方法三创建全局异常处理插件在main.js中注册全局异常处理插件在网络请求中捕获异常 总结 简介 在Vue项目中…

aps.net core 6.0 web API SwaggerUI IIS部署【23.10.15】亲测,通过

目录 一、aps.net core 6.0 web API 项目配置 创建项目设置 Swagger UI 为起始页发布项目二、在 IIS 部署 安装IIS安装 Hosting Bundle三、内网穿透 使用的是 VS2022社区版&#xff0c;WebAPI的版本是 .netcore6.0 一、aps.net core 6.0 web API 项目配置 1.创建项目 运行项目…

计算机毕业设计 基于Spring Boot智能停车计费系统的设计与实现 Javaweb项目 Java实战项目 前后端分离 文档报告 代码讲解 安装调试

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

PCB命名规则-allegro

PCB命名规则-allegro 一、焊盘命名规则 1、 贴片矩形焊盘 命名规则&#xff1a;SMD长&#xff08;L&#xff09;宽&#xff08;W&#xff09;&#xff08;mil&#xff09; 举例&#xff1a;SMD90X60 2、 贴片圆焊盘 命名规则&#xff1a;SMDC焊盘直径&#xff08;D&…

程序设计:C++ UNIX/Linux 目录操作(源码)

UNIX/Linux上的目录操作。 几个功能&#xff1a; 判断是否是目录 创建路径 递归清理目录 递归处理目录的框架 代码不复杂&#xff0c;前三个就是函数&#xff08;在同一个类中&#xff09;&#xff0c;最后一个是独立类&#xff0c;完整如下&#xff1a; …

蓝桥杯 常用STL (C++) 未完待续

动态数组 有些时候想开一个数组&#xff0c;但是却不知道应该开多大长度的数组合适&#xff0c;因为我们需要用到的数组可能会根据情况变动。 这时候我们就需要用到动态数组。所谓动态数组&#xff0c;也就是不定长数组&#xff0c;数组的长度是可以根据我们的需要动态改变的。…