目录

一、QPushButton

1.认识QPushButton

2.设置按钮图标

3.设置按钮的快捷键

二、QRadioButton

常用的信号

按钮的分组

三、QCheckBox


一、QPushButton

1.认识QPushButton

QPushButton继承自QWidget,所以在上一篇文章中介绍的QWidget的属性,理论上都是可以使用的。

严格来说,QPushButton并不是直接继承QWidget,而是QAbstractButton,这个类是一个抽象类,即接口类,包含了纯虚函数。

在QAbstractButton中,和QPushtButton关联较大的属性如下。

2.设置按钮图标

    QIcon icon(":/LInux.jpg");ui->pushButton->setIcon(icon);//QSize q(100,100);ui->pushButton->setIconSize(q);

3.设置按钮的快捷键

    //设置快捷键//方法一:直接写出按键的名称,容易出错ui->pushButton->setShortcut(QKeySequence("w"));//方法二:使用Qt内置的快捷键枚举ui->pushButton->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_A));

此外,我们知道在FPS游戏中,可以长按鼠标左键连发,相应的,对于一个按钮,是否可以长按鼠标左键来连击,并且默认情况下,按住键盘不松手,默认就是连续点击,那么可以设置鼠标的长按触发连击吗

//设置鼠标连击
ui->pushButton->setAutoRepeat(true);

二、QRadioButton

单选按钮,用来在多个选项中选择一个。

在QAbstractButton中,和QRadioButton关联较大的属性如下。

//让一个选项被选中
ui->radioButton->setChecked(true);
//
ui->radioButton->setCheckable(false);
//设置按钮不能被选中,但是按钮还是会响应执行槽函数。
故可以设置为
ui->radioButton->setEnabled(false);

常用的信号

void Widget::on_radioButton_clicked(bool checked)
{//checked表示按钮被选中,被选中时点击按钮,触发该信号qDebug() << "checked"<<checked;
}void Widget::on_radioButton_2_pressed()
{//pressed表示按下了按钮,但没有松开qDebug() << "pressed";
}void Widget::on_radioButton_3_released()
{//released表示松开按住的按钮qDebug() << "released";
}void Widget::on_radioButton_4_toggled(bool checked)
{//toggled表示切换状态时的信号qDebug() << "toggled" << checked;
}

按钮的分组

部分场景下,要对按钮分组,否则所有按钮之间都存在排他关系。而实际需求是让组和组之间不存在排他关系。

三、QCheckBox

QCheckBox表示复选按钮,可以允许选中多个。

和QCheckBox相关的属性也是checkable和checked, 都是继承自QAbstractButton,至于QCheckBox独有的属性tristate用来实现“三态复选框”,比较冷门,不作介绍。

代码举例


void Widget::on_pushButton_clicked()
{QString res = "今天的任务是:";if(ui->checkBox->isChecked()){res += ui->checkBox->text() + "、";}if(ui->checkBox_2->isChecked()){res += ui->checkBox_2->text() + "、";}if(ui->checkBox_3->isChecked()){res += ui->checkBox_3->text();}ui->label->setText(res);
}

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

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

相关文章

docker 无法拉取镜像解决方法

目录 我在omv中通过后台页面拉取alist镜像总是失败&#xff0c;原因千奇百怪 今天再战终于解决首先&#xff0c;到dockerhub找镜像和wiki进入docker账号设置 找到里面提示了登录操作和密码命令行中执行后会提示成功之后按需配置代理&#xff0c;同时检查自己的配置检查 Docker …

安卓10.0系统修改定制化_____安卓9与安卓10系统文件差异 有关定制选项修改差异

在修改安卓10的rom之前。我们需要对rom有简单的了解。区分安卓10与安卓9之间的差异。了解不同安卓版本之间系统文件的变化以及权限的区别。对于修改一些定制化选项有很大的辅助作用. 通过博文了解💝💝💝 1💝💝💝-----安卓10与安卓9之间文件实例对比 了解差异 …

HTML表单元素全面指南:从基础到实践

引言 HTML表单是网页开发中不可或缺的一部分&#xff0c;它为用户提供了与网站交互的途径。无论是简单的登录页面还是复杂的数据提交界面&#xff0c;表单元素都扮演着关键角色。本文将详细介绍各种HTML表单元素及其使用方法。 输入框(input元素) input元素是最基础也是最灵…

深度学习的核心理论与技术

理解深度学习的基本原理、核心算法和关键技术 深度学习的核心理论与技术前言一、深度学习核心理论1. 神经网络基础核心内容练习资源2. 反向传播与梯度下降核心内容练习资源3. 卷积神经网络&#xff08;CNN&#xff09;核心内容练习资源4. 循环神经网络&#xff08;RNN&#xff…

LinkedList 链表数据结构实现 (OPENPPP2)

&#x1f50d; LinkedList 链表数据结构实现 (OPENPPP2) &#x1f9f1; 1. 数据结构设计 LinkedListNode 结构 #mermaid-svg-XDJqt6cHMKxodJLG {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-XDJqt6cHMKxodJLG .er…

RPC/gRPC入门学习

一、RPC 1.1 RPC概念 RPC Remote Procedure Call, 即远程过程调用&#xff0c;是一种用于构建分布式系统的理念&#xff0c;在一些资料中被称为“请求-响应”协议。两个进程可以位于同一系统中&#xff0c;也可以位于不同的系统中&#xff0c;通过网络相互连接。 RPC使程…

租车小程序电动车租赁小程序php方案

电动车租赁小程序源码&#xff0c;开发语言后端php&#xff0c;前端uniapp。四个端&#xff1a;用户端门店端分销商端小程序&#xff0c;pc管理后台。一 用户端&#xff1a;可以扫门店码&#xff0c;进入门店详情页。也可以通过地图找车。或者门店列表进入&#xff0c;或者快速…

Python数据分析基础04:预测性数据分析

相关章节&#xff1a; 《Python数据分析基础03&#xff1a;探索性数据分析》 《python数据分析基础02&#xff1a;数据可视化分析》 《Python数据分析基础01&#xff1a;描述性统计分析》 预测性数据分析&#xff08;Predictive Analytics&#xff09; 的深度解析&#xff0…

PFAE(Pyramidal Frequency Attention Extraction)通过频域注意力机制提高边界模糊、遮挡等场景的的检测能力

在伪装物体检测中&#xff0c;现有方法多依赖空间局部特征&#xff0c;难以捕捉全局信息&#xff0c;而 Transformer 类方法计算成本高昂。频率域特征因具备全局建模能力&#xff0c;可有效抑制背景噪声、提升伪装物体语义清晰度&#xff0c;但频域与空域的频繁转换会增加计算复…

AE插件安装方法

Adobe After Effects简称AE&#xff0c;是adobe公司开发的一个视频剪辑及设计软件&#xff0c;AE软件能够实现对素材的非线性编辑而完成画面的组接&#xff0c;同时还能对任何一部分进行修改&#xff0c;达到想要的结果。AE含有很多脚本、常用的表达式和插件&#xff0c;做动画…

舵轮时钟-STM32-28路PWM--ESP8266-NTP时间

1.STM32--PWM生成STM32不具备如此多的PWM&#xff0c;因此采用软件定时器的方案实现&#xff1a;使用hal库实现&#xff1b;main.c#include "main.h"#define close1 500#define open 1500#define close 2500// 定时器中断配置&#xff08;以TIM2为例&#xff09; voi…

Redis的单线程和多线程(单Worker线程)

Redis的单线程和多线程 Redis6.0之前是单线程的&#xff0c;6.0之后是多线程的&#xff0c;我们先了解6.0版本之前的单线程Redis。但其实无论6.0之前还是6.0之后&#xff0c;redis用于工作的线程也只有一个&#xff0c;所以也可以说redis一直是单线程的。 Redis单线程 Redis 6.…

OSPFv3基础

文章目录 OSPFv3基础OSPFv3的改进OSPFv2 v3相同OSPFv2 v3不同 &#x1f3e1;作者主页&#xff1a;点击&#xff01; &#x1f916;Datacom专栏&#xff1a;点击&#xff01; ⏰️创作时间&#xff1a;2025年07月07日22点31分 OSPFv3基础 OSPFv3协议号依然为89&#xff0c;在I…

前端篇——HTML知识点体系

目录 一、基础结构与文本 1. 文档基础 2. 文本元素 二、多媒体元素 1. 图像 2. 音频 3. 视频 三、列表系统 1. 无序列表 2. 有序列表 3. 定义列表 四、表格系统 1. 表格结构 2. 合并单元格 五、表单系统 1. 输入控件 2. 表单元素 3. 高级表单特性 六、布局系…

产品需求管理文档中,需求模块是怎么界定的

产品需求文档中&#xff0c;需求模块的界定方式主要包括&#xff1a;1、基于业务流程的功能划分、2、按用户角色使用场景分类、3、根据系统架构与技术边界拆解、4、对数据实体和功能点进行组合聚类、5、结合未来演进节奏设置独立迭代单元。 其中&#xff0c;“基于业务流程的功…

国内免代理免费使用Gemini大模型实战

文章目录 一、免费申请Gemini API密钥二、使用openai-gemini1、在github上找到openai-gemini2、将openai-gemini部署到Netlify3、在Cherry Studio中配置和使用gemini的模型1&#xff09;在Cherry Studio中配置gemini API2&#xff09;在Cherry Studio中使用gemini 的模型 4、在…

day46-tomcat-java业务部署

1. ✅选型1.1. &#x1f3af;中间件java web中间件说明tomcat组件&#xff0c;功能多jetty精简&#xff0c;功能少一些......weblogic使用oracle数据库配合weblogic(商业)国产&#xff1a;东方通(TongWEB)1.2. &#x1f4cc;jdkjdk选型说明jdk(oracle jdk)商业版&#xff0c;jd…

[netty5: HttpServerCodec HttpClientCodec]-源码分析

在阅读该篇文章之前&#xff0c;推荐先阅读以下内容&#xff1a; [netty5: ChannelHandler & ChannelHandlerAdapter]-源码解析[netty5: HttpObjectEncoder & HttpObjectDecoder]-源码解析 HttpServerCodec HttpServerCodec 是一个 Netty 编解码器&#xff0c;结合 …

华为OD机试 2025B卷 - 数组组成的最小数字(C++PythonJAVAJSC语言)

2025B卷目录点击查看: 华为OD机试2025B卷真题题库目录|机考题库 + 算法考点详解 2025B卷 100分题型 最新华为OD机试 真题目录:点击查看目录 华为OD面试真题精选:点击立即查看 2025华为od 机试2025B卷-华为机考OD2025年B卷 题目描述 给定一个整型数组,请从该数组中选…

Ubuntu下Tomcat的配置

进入Tomcat的conf目录下 1 备份配置文件 cp server.xml server.xml.2下载server.xml&#xff0c;用notepad文本编辑器打开 2 修改Tomcat的端口号 找到如下内容<Connector port"8080" protocol"HTTP/1.1"connectionTimeout"20000"redirectPort…