按钮控件之4---QToolButton 工具按钮控件

news2024/12/24 22:09:15

一、设置和基本显示

QWidget w;
QToolButton *pb1=new QToolButton(&w);
设置文字 setText()  

设置图标 setIcon()

改变图标大小 setIconSize()

设置提示文本 setToolTip()

pb1.setToolTip("hello");

二、属性

1. arrowType: Qt::ArrowType 设置QToolButton是否显示箭头图标
访问函数:

Qt::ArrowType arrowType() const;

void setArrowType(Qt::ArrowType type);
此属性描述了是否显示一个箭头作为工具按钮的图标,默认为 Qt::NoArrow

成员说明成员说明
Qt::NoArrow0无箭头Qt::LeftArrow3向左箭头
Qt::UpArrow1向上箭头Qt::RightArrow4向右箭头
Qt::DownArrow2向下箭头

2.autoRaise: 按钮是否凸起

bool 访问函数:

bool autoRaise() const;

void setAutoRaise(bool enable);
此属性描述了是否启用自动提升,默认为禁用(即为 false)。

3. popupMode: ToolButtonPopupMode
访问函数:

ToolButtonPopupMode popupMode() const;
void setPopupMode(ToolButtonPopupMode mode);
此属性描述了弹出菜单的使用方式,默认为 QToolButton::DelayedPopup

QToolButton::ToolButtonPopupMode 枚举
该枚举描述了工具按钮应如何弹出菜单
成员说明
QToolButton::DelayedPopup0按住工具按钮一段时间后显示菜单(超时时间取决于样式,
详见 QStyle::SH_ToolButton_PopupDelay)
QToolButton::MenuButtonPopup1显示一个特殊的箭头,表示该工具按钮存在菜单,按下箭
头时,会显示菜单
QToolButton::InstantPopup2按下工具按钮时,立即显示菜单。在此模式下,按钮本身
的 action 不会被触发。

4.toolButtonStyle: Qt::ToolButtonStyle
访问函数:

Qt::ToolButtonStyle toolButtonStyle() const;
void setToolButtonStyle(Qt::ToolButtonStyle style); //槽
此属性描述了工具按钮图标文本显示方式,即仅显示文本、图标、还是图标和文
本一起显示。 默认为 Qt::ToolButtonIconOnly (即仅显示图标)
QToolButton会自动把setToolButtonStyle()槽函数连接到QMainWindow中的相关信号。

Qt::ToolButtonStyle 枚举的成员(无标志)   作用:描述按钮的文本和图标的显示方式
成员说明成员说明
Qt::ToolButtonIconOnly0仅显示图标
Qt::ToolButtonTextOnly1仅显示文本
Qt::ToolButtonTextBesideIcon2文字位于图标旁
Qt::ToolButtonTextUnderIcon3文字位于图标下
Qt::ToolButtonFollowStyle4遵循系统设置,在 Unix 上,这将使用桌面环境中的用户设置,
在其他平台上,仅表示图标。

5.设置提示

设置提示

ToolButton常用于显示图标,可以为按钮添加提示,当鼠标放在按钮上,显示提示。

    ui->toolButton->setToolTip("点击");
    ui->toolButton_2->setToolTip("滑过");
    ui->toolButton_3->setToolTip("按下");
    ui->toolButton_4->setToolTip("释放");

三、trigered(QAction*)信号

这个就是实现弹出菜单,然后咱们点击了哪一项action,发射的信号。注:这个aciton就是我们在界面上可以创建的那种action。

这个按钮的信号和槽基本和其他按钮差不多,但是有一个信号:

void triggred(QAction *action);
  • 这个是当某个action触发时,发射的信号,可以根据这个信号,来实现对应的细节

四、样式表,也基本和其他按钮差不多

m_lfButton->setStyleSheet("QToolButton{border: none; background: rgb(68, 69, 73); color: rgb(0, 160, 230);}");

五、示例

#include<QtWidgets>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
    QApplication a(argc,argv);
    //创建部件
    QWidget w;
    QToolButton *pb1=new QToolButton(&w); QToolButton *pb2=new QToolButton(&w);
    pb1->setText("AAA"); //设置显示的文本
    pb1->setIcon(QIcon("F:\\1.png")); //为工具按钮设置图标,图标来自于 F 盘的 1.png 文件
    pb1->setIconSize(QSize(44,44);//图标大小需使用QAbstractButton::setIconSize函数设置
    pb1->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);//工具按钮将文字显示于图标旁边
    pb1->setAutoRaise(true); //为该工具按钮设置自动提升属性
    pb2->setArrowType(Qt::UpArrow); //此处设置的箭头会替换掉以下设置的图标
    pb2->setIcon(QIcon("F:\\1.png"));
    pb2->setIconSize(QSize(44,44));
    pb1->move(22,22); 
    pb2->move(111,22); // pb3->move(177,22);
    w.resize(300,200); 
    w.show(); 

    return a.exec();
}

运行结果及说明

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

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

相关文章

如何让数据成为企业的生产力?

为什么有的企业投入大量的人力、物力、财力做数字化转型建设最终做了个寂寞&#xff01;企业领导没看到数字化的任何价值&#xff01; 如果要问企业数字化转型建设最核心的价值体现是什么&#xff0c;大部分人都会说是&#xff1a;数据&#xff01; 然而&#xff0c;不同的人…

Nginx 配置中root和alias的区别分析

root和alias都可以定义在location模块中&#xff0c;都是用来指定请求资源的真实路径&#xff0c;比如&#xff1a; location /i/ { root /data/w3; } 请求 http://foofish.net/i/top.gif 这个地址时&#xff0c;那么在服务器里面对应的真正的资源 是 /data/w3/i/top.gif文…

使用Vue + axios实现图片上传,轻松又简单

目录 一、Vue框架介绍 二、Axios 介绍 三、实现图片上传 四、Java接收前端图片 一、Vue框架介绍 Vue是一款流行的用于构建用户界面的开源JavaScript框架。它被设计用于简化Web应用程序的开发&#xff0c;特别是单页面应用程序。 Vue具有轻量级、灵活和易学的特点&#xf…

Centos7安装黑客矩阵特效软件cmatrix

一&#xff1a;Cmatrix 是一款 Linux 环境下的炫酷屏保软件 其效果类似于黑客帝国电影中的代码雨 同时该软件也是一个开源软件&#xff0c;开源项目地址&#xff1a;GitHub - abishekvashok/cmatrix: Terminal based "The Matrix" like implementation 二&#xff…

requests模块

1、简介 Requests是⼀个优雅⽽简单的Python HTTP库&#xff0c;专为⼈类⽽构建。 Requests是有史以来下载次数最多的Python软件包之⼀&#xff0c;每天下载量超过400,000次。 之前的urllib做为Python的标准库&#xff0c;因为历史原因&#xff0c;使⽤的⽅式可以说是⾮常的麻烦…

单臂路由实验:通过Trunk和子接口实现VLAN互通

文章目录 一、实验背景与目的二、实验拓扑三、实验需求四、实验解法1. PC 配置 IP 地址2. PC3 属于 Vlan10&#xff0c;PC4 属于 Vlan20&#xff0c;配置单臂路由实现 Vlan10 和 Vlan20 三层互通3. 测试在 PC3 上 Ping PC4 &#xff0c;可以 Ping 通 PC4 摘要&#xff1a; 本文…

附录1-爬虫的一些技巧

目录 1 寻找url与显示内容的关系 2 修改请求头 3 局部刷新 4 阅读返回信息 5 多尝试页面其他的使用方式 6 尝试不同类型参数 7 表单类型的post多用data发&#xff0c;接口类型的post多用json发 8 消除degger 9 你在浏览器上看到的html与你下载下来的html不一…

【LeetCode每日一题合集】2023.8.21-2023.8.27(统计点对的数目)

文章目录 2337. 移动片段得到字符串⭐解法——脑筋急转弯 849. 到最近的人的最大距离1782. 统计点对的数目&#x1f6b9;&#x1f6b9;&#x1f6b9;&#x1f6b9;&#x1f6b9;解法——从双指针到终极优化单独处理每个询问终极优化TODO 技巧总结用一个int存储两个不超过 65535…

最全数据脱敏标准汇编,有必要了解一下!(附下载)

《网络安全法》第四十二条&#xff1a;网络运营者不得泄露、篡改、毁损其收集的个人信息&#xff1b;未经被收集者同意&#xff0c;不得向他人提供个人信息。但是&#xff0c;经过处理无法识别特定个人且不能复原的除外。 《数据安全法》第二十七条&#xff1a;开展数据处理活动…

W5100S_EVB_PICO 做MQTT测试(十二)

前言 上一章我们用W5100S_EVB_PICO 开发板做Ping测试&#xff0c;那么本章我们进行W5100S_EVB_PICO MQTT的测试。 什么是mqtt&#xff1f; MQTT&#xff08;Message Queuing Telemetry Transport&#xff0c;消息队列遥测传输协议&#xff09;&#xff0c;是一种基于发布/订…

Linux xargs命令继续学习

之前学习过Linux xargs&#xff0c;对此非常的不熟悉&#xff0c;下面继续学习一下&#xff1b; xargs 可以将管道或标准输入&#xff08;stdin&#xff09;数据转换成命令行参数&#xff0c;也能够从文件的输出中读取数据&#xff1b; xargs也可以给命令传递参数&#xff1b;…

【Linux】地址空间概念

目录 前言&#xff1a; 地址空间回顾 验证&#xff1a;一个变量是否会有两个值&#xff1f; 一. 什么是地址空间 虚拟地址与物理地址之间的关系 二. 地址空间是如何设计的 1. 回答一个变量两个值 2.扩展 继续深入理解 三. 为什么要有地址空间 原因&#xff1a; 1. 使…

触摸屏与多台 PLC之间无线Ethernet通信

在实际系统中&#xff0c;同一个车间里分布多台PLC&#xff0c;由触摸屏集中控制。通常所有设备距离在几十米到上百米不等。在有通讯需求的时候&#xff0c;如果布线的话&#xff0c;工程量较大且不美观&#xff0c;这种情况下比较适合采用无线通信方式。本方案以威纶通触摸屏和…

解决解析maven依赖加载卡住问题

首先找到用户设置文件的位置&#xff1a; 根据位置查找文件&#xff0c;没有则创建。 修改maven的默认镜像为阿里云镜像。 <mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/pub…

直播进入新风口:XR虚拟直播市场火爆,未来发展势不可挡

&#xfeff; 近年来&#xff0c;直播行业随着技术的不断发展&#xff0c;呈现出了蓬勃的发展态势。在这个竞争日益激烈的直播行业中&#xff0c;XR虚拟直播成为了最新的风口。XR虚拟直播是一种新型的直播形式&#xff0c;通过虚拟现实技术&#xff0c;让用户置身于直播现场&a…

使用生成式 AI 增强亚马逊云科技智能文档处理

数据分类、提取和分析对于处理大量文档的组织来说可能具有挑战性。传统的文档处理解决方案是手动的、昂贵的、容易出错的,并且难以扩展。利用 Amazon Textract 等 AI 服务,亚马逊云科技智能文档处理(IDP)允许您利用业界领先的机器学习(ML)技术来快速准确地处理任何扫描文档或图…

MySQL 枚举类型如何定义比较好 tinyint?enum?varchar?

enum介绍 先来介绍一下enum类型吧。 ENUM 是一个字符串对象&#xff0c;其值通常选自一个允许值列表中&#xff0c;该列表在表创建时的列规格说明中被明确地列举。&#xff08;建表的时候写到建表语句里&#xff09; 虽然表面是字符串值&#xff0c;但其内部是数字索引&…

Nvidia vpi2 不是最新版本问题

问题&#xff1a; 根据官方手册&#xff1a;VPI - Vision Programming Interface: Installation安装的vpi2有可能不是最新版本&#xff0c;主要原因是手册中的添加的源不是最新的。 解决方法&#xff1a; 在 Index网址中搜索 vpi&#xff0c;如下 可以看到&#xff0c;最新的…

【数字通信原理】笔记(持续更新ing)

通信原理学习笔记&#xff0c;课程见b站: 由于教材不同&#xff0c;我们的课程使用的是《数字通信原理》主编:李白萍 版本&#xff0c;因此此笔记以我们的教材为主整理up主的笔记。 详情见:通信原理 文章目录 第一章 绪论1. 通信的基本概念2. 信息的量度3. 通信系统的性能指标 …

Mars3d图层树//图层管理加载时设置默认折叠的状态

问题&#xff1a;Mars3d图层树//图层管理加载时设置默认折叠的状态。 设置参考&#xff1a; 有个参数 open:false&#xff0c;写在对应的图层配置下&#xff0c;比如某个节点不展示&#xff0c;就对这个节点配置下。 如果全局&#xff0c;可以搜下这个widget内的代码&#xff…