Qt应用开发(基础篇)——普通按钮类 QPushButton QCommandLinkButton

news2024/11/26 10:24:47

一、前言

        QPushButton类继承于QAbstractButton,是一个命令按钮的小部件。

        按钮基类 QAbstractButton

        按钮或者命令按钮是所有图形界面框架最常见的部件,当按下按钮的时候触发命令执行某些操作或者回答一个问题,典型的按钮有OKApplyCancelCloseYesNoHelp。

        按钮默认是矩形的,但是在macOS上,当按钮的宽度小于50或高度小于30时,按钮的角将从圆形变为方形,使用setMinimumSize()函数来防止这种行为。

        按钮显示文本标签和可选的小图标。这些可以使用构造函数进行设置,也可以使用setText()setIcon()进行更改。如果按钮被禁用,则文本和图标的外观将根据GUI样式进行操作,使按钮看起来“禁用”。

        按钮通常显示一个描述其操作的文本标签,可以通过在文本中在首选字符前面加上“&”号来指定快捷键。例如:

 QPushButton *button = new QPushButton("&Download", this);

        当按下Alt+D的时候焦点会回到按钮身上,如果要显示“&”文本使用“&&”即可。

        当按钮被鼠标、空格键或键盘快捷键激活时,它会发出clicked()信号。连接到这个信号来执行按钮的动作。按钮还提供不太常用的信号,例如pressed()released()

        命令按钮的一种变体是菜单按钮。它们不仅提供一个命令,而且提供多个命令,因为当单击它们时,它们会弹出一个选项菜单。使用setMenu()方法将弹出式菜单与按钮关联起来。

二、QPushButton类

 1、autoDefault

        该属性用于是否自动为默认按钮,默认为false,如果设置为true,会有一个3像素的边框表示。

bool autoDefault() const       
void setAutoDefault(bool)      

 2、default

       该属性用于是否为默认按钮,默认为false,如果设置为true,会有一个3像素的边框表示。默认和自动默认按钮主要是用来响应用户按下Enter和Space按键响应。

 bool isDefault() const        
 void setDefault(bool)        

3、flat

        该属性用于确定按钮边框是否凸起,默认为false。如果设置为true,则不会绘制按钮背景,除非按钮被按下。

bool isFlat() const        
void setFlat(bool)        

4、menu

        将弹出式菜单菜单与此按钮关联。这将按钮变成一个菜单按钮,在某些样式中,它将在按钮文本的右侧产生一个小三角形。

QMenu *QPushButton::menu() const          
void QPushButton::setMenu(QMenu *menu) 
QMenu *menu = new QMenu();
QAction *act1 = new QAction("复制");
QAction *act2 = new QAction("粘贴");
QAction *act3 = new QAction("剪切");
menu->addAction(act1);
menu->addAction(act2);
menu->addAction(act3);
ui->pushButton->setMenu(menu);

5、公共槽函数

1)showMenu

        显示(弹出)相关的弹出菜单。如果没有这样的菜单,这个函数什么也不做。该函数在用户关闭弹出式菜单之前不会返回。

void showMenu()

三:QCommandLinkButton类

        命令链接是Windows Vista引入的一个新控件。它的预期用途类似于单选按钮,用于在一组互斥选项之间进行选择。命令链接按钮不应该单独使用,而应该作为向导和对话框中单选按钮的替代品,并使按下“下一步”按钮变得多余。其外观通常与平面按钮相似,但除了普通按钮文本之外,它还允许使用描述性文本。默认情况下,它还会带有一个箭头图标,表示按下该控件将打开另一个窗口或页面。

        

1、description

        该属性用于描述文本,字体大小会比文本小。

QString description() const                        //获取描述文本
void setDescription(const QString &description)    //设置描述文本

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

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

相关文章

对接西部数据Western Digital EDI 系统

近期我们为国内某知名电子产品企业提供EDI解决方案,采用知行之桥 EDI 系统作为核心组件,成功与西部数据Western Digital(简称西数)建立EDI连接,实现数据安全且自动化传输。 EDI实施需求 EDI连接 传输协议:A…

利用谷歌浏览器进行前端代码调试(JS,JSP)一

首先在浏览器打开需要调试的界面,按F12,打开调试窗口。 窗口常用的是界面上的四个:Elements,Console,Sources,Network,下面来介绍各个块的调试功能 1、Elements 这个通常用来调试界面的显示&a…

嵌入式学习笔记(15)再接S5PV210的启动过程

三星推荐方式: bootloader必须大于16KB小于96KB。假定bootloader为74KB,启动过程:开机,BL0运行,BLO加载外部启动设备中的bootloader前16KB(BL1)到SRAM中运行,BL1运行时会加载BL2(bo…

化繁为简 面板式空调网关亮相上海智能家居展 智哪儿专访青岛中弘赵哲海

面对中央空调协议不开放和智能家居协议不统一的问题,青岛中弘选择中央空调控制器这一细分赛道入局智能家居市场,始终贯彻“所有空调,一个网关”的产品技术理念,逐渐探索出一条中弘的发展路径和商业模式。 在2023年的SSHT上海国际智…

ModaHub魔搭社区开源AI Agent开发框架和评测

AI 模型社区魔搭(ModaHub)又上新了,推出适配开源大语言模型的 AI Agent 开发框架 ModaHub-Agent。借助 ModaHub-Agent,所有开发者都可基于开源 LLM 搭建属于自己的智能体应用,最大限度释放想象力和创造力。ModaHub-Agent 的代码现已开源。 AI Agent(AI 智能体、AI 代理)…

怎么把图片压缩小一点?

怎么把图片压缩小一点?如今是互联网的时代,图片已成为在我们的生活或者职场工作中占有非常重要的作用。我们经常需要在网络上上传图片,将它们发布在朋友圈、自媒体平台、电子商务平台、社交媒体或个人网站上展示。然而,如果图片体…

LeetCode(力扣)216. 组合总和 IIIPython

LeetCode216. 组合总和 III 题目链接代码 题目链接 https://leetcode.cn/problems/combination-sum-iii/ 代码 class Solution:def combinationSum3(self, k: int, n: int) -> List[List[int]]:result[]self.backtracking(n, k, 0, 1, [], result)return resultdef back…

IPO后首份半年报出炉,豪恩汽电净利润同比下滑10.49%

上市公司的半年报陆续出炉。 今年7月4日,主营汽车电子的豪恩汽电正式登陆创业板上市,公司的主要产品为汽车智能驾驶感知系统,包括车载摄像系统、车载视频行驶记录系统和超声波雷达系统等产品。 相比于目前国内主流的智能驾驶方案公司&#…

工具及方法 - 下载谷歌商店APP的APK文件

在手机上安装APP时,一般都是都在应用商店上下载。 Android手机方便些,很多可以下载到APK,再上传到手机上安装,更加方便了用户的使用。 通过使用APK,可以离线安装应用,安装不同的APP版本,或者安装…

LSTM基础

LSTM 视频讲得非常好 https://www.bilibili.com/video/BV1644y1W7sD/?spm_id_from333.788&vd_source3b42b36e44d271f58e90f86679d77db7门的概念 过去,不过去,过去一部分 点乘,0 concatenation,pointwise LSTM RNN 上一…

uniapp h5 微信打开双标题处理

解决办法 在page.json文件下将 globalStyle 下的 navigationStyle 设置为 “custom” 即可解决微信H5双标题的问题 "globalStyle": {"navigationStyle":"custom",设置成 custom 即可解决微信H5双标题的问题"navigationBarTextStyle": …

rtthread 芯片创建的工程 串口无输出

根据启动流程可以看到 从汇编中跳转到 entry,而 rtt studio 通过芯片生成的工程使用的是默认的HAL库,启动代码是跳转到main,没有替换跳转到entry,所以通过修改路径:libraries\CMSIS\Device\ST\STM32F7xx\Source\Templates\gcc\sta…

【uniapp/uview】u-datetime-picker 选择器的过滤器用法

引入&#xff1a;要求日期选择的下拉框在分钟显示时&#xff0c;只显示 0 和 30 分钟&#xff1b; <u-datetime-picker :show"dateShow" :filter"timeFilter" confirm"selDateConfirm" cancel"dateCancel" v-model"value1&qu…

企业无线局域网部署最佳实践

文章目录 企业无线局域网部署最佳实践引言1. 无线网规划和设计a. 选择合适的频宽b. 网络规划工具c. 考虑物理环境d. 用户密度和需求e. 未来扩展f. 安全性和策略g. 测试和验证2. 无线局域网容量2.1 用户和设备预测2.2 应用流量分析2.3 带宽管理2.4 无线技术选择2.5 网络健康检查…

如何使用nvm管理Node版本

1&#xff0c;去github官网&#xff0c;输入nvm-windows&#xff0c;点击第一个nvm项目&#xff0c;在右侧点击releases,选择箭头指向的安装包 2&#xff0c;为nvm的安装包创建一个英文文件夹&#xff0c;在这个文件夹中安装nvm,注意不要和node.js的安装目录一致 3,点击下载的n…

uniapp 路由不要显示#

在Uniapp中&#xff0c;路由默认使用的是hash模式&#xff0c;即在URL中添加#符号。如果你不想在URL中显示#&#xff0c;可以切换为使用history模式。 要在Uniapp中使用history模式&#xff0c;可以按照以下步骤进行操作&#xff1a; 打开manifest.json文件。在"app&qu…

金山办公推出WPS AI,开放应用于智能文档

&#x1f989; AI新闻 &#x1f680; 金山办公推出WPS AI&#xff0c;开放应用于智能文档 摘要&#xff1a;金山办公宣布WPS AI正式面向社会开放&#xff0c;首先用于WPS智能文档&#xff0c;该产品支持内容生成、表达优化、文档理解及处理等功能。用户可通过WPS客户端、App、…

MyBatis获取参数值的两种方式(重点)

MyBatis获取参数值的两种方式&#xff1a;${}和#{}${}的本质就是字符串拼接&#xff0c;#{}的本质就是占位符赋值${}使用字符串拼接的方式拼接sql&#xff0c;若为字符串类型或日期类型的字段进行赋值时&#xff0c;需要手动加单引号&#xff1b;但是#{}使用占位符赋值的方式拼…

STM32屏幕计时器

目录 一、最终效果二、实现思想三、实现过程3.1 屏幕显示3.2 中断处理 一、最终效果 显示屏显示计时时间&#xff0c;格式为 00:00:00&#xff0c;依次为 时:分:秒&#xff0c;程序运行之后自动计时&#xff0c;当按下按键&#xff0c;计时清零&#xff0c;按下按键采用外部中…

用Qt写的机器视觉绘图工具

一个用QtGraphicsView写的机器视觉绘图工具&#xff0c;支持直线查找&#xff0c;圆拟合&#xff0c;卡尺工具&#xff0c;圆环查找等。底部GraphicsScene可以实时显示相机图像&#xff0c;工具获取图像后通过算法处理图像。 Project是基于Qt的例程项目qdraw改的。