Qt扫盲-QToolButton 理论总结

news2024/10/5 18:59:58

QToolButton 理论总结

    • 1. 概述
    • 2. 使用场景
    • 3. 外观样式
    • 4. 菜单用途

1. 概述

ToolButton 是一种特殊按钮,用于快速访问 特定命令或选项。与普通PushButton 按钮常用显示内容不同,ToolButton 通常不显示文本标签,而是显示图标。当然,也不是说不能用QPushButton 来显示图标之类的,这个只是官方推荐,我一把也是只用QPushButton来做了大部分的按钮功能。这个你熟悉哪种其实就用哪种就行啦。

2. 使用场景

ToolButton 通常在使用 QToolBar::addAction() 创建新的 QAction 实例或使用 QToolBar::addAction() 添加到工具栏时创建。也可以像任何其他小部件一样构造ToolButton ,并将它们与布局中的其他微件一起排列。

ToolButton 的一个经典用途是选择工具; 就像Windows 自带的 画图程序中的“钢笔”工具。也是通过使用QToolButton 作为切换按钮来实现,因为可以选择就会使用到 setCheckable() 函数 和 checked 属性。
在这里插入图片描述

3. 外观样式

QToolButton 支持自动提升。在自动抬起模式下,仅当鼠标指向按钮时,该按钮才会绘制 3D 帧。当在 QToolBar 中使用按钮时,该功能会自动打开。使用 setAutoRaise() 更改这个自动抬升的属性。QToolButton的鼠标响应确实和QPushButton 有些不同,但是还是可以通过 QSS 来把样式给做到类似的。

ToolButton 的图标设置为 QIcon。这样就可以为禁用状态和活动状态指定不同的像素图。禁用的像素图在按钮的功能不可用时使用。当按钮自动升起时,将显示活动的像素图,因为鼠标指针悬停在其上。这个其实就是体现在下面 icon的区别上,不同状态下可以选择不同的图标。但这种我们是不推荐的,用代码写死很简单,但扩展很麻烦,最后都是用QSS 来做的
在这里插入图片描述

按钮的外观和尺寸可通过 setToolButton Style() 和 setIconSize() 进行调整。
当在 QMainWindow 的 QToolBar 中使用时,该按钮会自动调整为 QMainWindow 的设置(请参阅 QMainWindow::setToolButton Style() 和 QMainWindow::setIconSize())。其实就是会使用QToolButton的父容器的属性。
ToolButton 还可以显示箭头符号,而不是图标,该符号使用 arrowType 指定。Arrow 和图标是互斥的,一次只能显示一个。
效果如下,我们也可以设置图标的位置,注意,没有那个图标在右、下的功能哦。QPushButton也有这种功能。只是没有那个 Arrow功能。

在这里插入图片描述

4. 菜单用途

ToolButton 可以在弹出菜单中提供其他选项。可以使用 setMenu() 设置弹出菜单。使用 setPopupMode() 配置 QToolButton的菜单显示模式。

默认模式是延迟弹出模式,有时与Web浏览器中的“后退”按钮一起使用。长按住按钮一段时间后,会弹出一个菜单,显示可能跳转到的页面列表。超时取决于样式,需要自己再查查 QStyle::SH_ToolButton _PopupDelay。效果其实就像下面浏览器的一样。
在这里插入图片描述

Qt Assistant 的工具栏其实就用QToolButton 来做的
在这里插入图片描述

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

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

相关文章

Windows与Linux利用系统自带实现共享文件夹的功能

这里需要两台机器在同一局域网或者可互相ping通。系统以Windows11和Windows Subsystem for Linux(Ubuntu22.04.1)或国产Linux发行版的统信UOS(版本号20)为例,其他的版本系统也类似,非Linux虚拟机也测试过&a…

蚁群算法详解-解决TSP问题

文章目录前言一、蚁群算法是什么?算法步骤二、基本原理三、数学模型1、算法中的参数设置2、构建路径轮盘赌例子3、更新信息素浓度代码终止四、代码展示五、参数实际设定1.参数设定的准则2.蚂蚁数量3.信息素因子4.启发函数因子5.信息素挥发因子6. 最大迭代次数7. 组合…

Android 实现相机(Camera)预览

CameraX 是一个 Jetpack 库,旨在帮助您更轻松地开发相机应用。 对于新应用,我们建议从 CameraX 开始。它提供一致且易于使用的 API,适用于绝大多数 Android 设备,并向后兼容 Android 5.0(API 级别 21)。 Ca…

Python基础篇学习

本篇博文目录:一.Python基础语法1.Python基础知识2.了解Python的基础语法结构3.python基础知识二.数据类型1.数字2.字符串3.布尔4.空值:None5.列表6.元祖7.字典8.Bytes9.集合(Set)三:程序三大结构( 顺序结构,分支结构,循环结构)1.顺序结构2.分…

2022-我的秋招之旅

1. 自我介绍 ​ 版1:(实习) ​ 面试官好,我叫xx,来自xx,目前研究生xx,就读于xx,在研究生期间,担任的职务为xx,在校期间参加各种比赛,如xx等&…

MATLB|实时机会约束决策及其在电力系统中的应用

目录 一、概述 二、数学模型 2.1 机会约束决策的情景方法 2.2 带有测量的情景方法 三、 机会约束决策的一种快速方法 3.1 通过仿射变换进行近似调节 3.2 可行域的仿射变换 3.3 两阶段决策算法 四、算例——配电网 4.1 防止过电压的有功功率削减 4.2 数值模拟 4.3 运…

第二十章 多源最短路之Floyd算法的思路即实现(超强解析)

第二十章 多源最短路之Floyd算法的思路即实现一、什么是多源最短路二、Floyd算法1、算法思路2、算法模板(1)问题:(2)代码模板:(3)代码分析:一、什么是多源最短路 我们之前了解到的d…

远程Jenkins新增Mac电脑节点,你知道怎么操作么?

目录:导读 一,前言 二,Mac电脑准备 1,网络环境 2,设置允许远程登录 三,Jenkins新增节点 1,新建节点 2,配置节点 3,节点启动代理 四,写在最后 一&…

算法竞赛入门【码蹄集进阶塔335题】(MT2176-2200)

算法竞赛入门【码蹄集进阶塔335题】(MT2176-2200) 文章目录算法竞赛入门【码蹄集进阶塔335题】(MT2176-2200)前言为什么突然想学算法了?为什么选择码蹄集作为刷题软件?目录1. MT2176 围栏木桩2. MT2177 学习时间3. MT2178 最长子段…

【设计模式】观察者模式Observe(Java)

文章目录1. 观察者模式定义2. 类图3.Java实现3.1 定义主题Interface3.2 定义观察者Interface3.3 定义具体主题3.4 定义具体观察者3.5 定义测试主方法1. 观察者模式定义 观察者模式定义了对象之间的一对多依赖,这样以来,当一个对象改变状态时&#xff0c…

如何利用ArcGIS探究环境与生态因子对水体、土壤、大气污染物等?

如何利用ArcGIS实现电子地图可视化表达?如何利用ArcGIS分析空间数据?如何利用ArcGIS提升SCI论文的层次?制图是地理数据展现的直观形式,也是地理数据应用的必要基础 本文从ArcGIS的基本操作、ArcGIS 的空间数据分析及ArcGIS 的高级…

使用MyBatis Generator自动创建代码

使用MyBatis Generator自动创建代码安装jdk下载jar 和配置xml文件自动生成代码报错分析与解决Table configuration with catalog null, schema null, and table public.user_t did not resolve to any tablesThe specified target project directory src does not exist安装jdk…

深入解决Linux内存管理之page fault处理

说明: Kernel版本:4.14ARM64处理器,Contex-A53,双核使用工具:Source Insight 3.5, Visio 1. 概述 内核实现只是在进程的地址空间建立好了vma区域,并没有实际的虚拟地址到物理地址的映射操作。…

基于Pyqt5实现笔记本摄像头拍照及PaddleOCR测试

在上一篇文章《基于百度飞桨PaddleOCR的图片文字识别》的基础上,做了个简单的扩展: 1、通过Pyqt5做个简单的UI界面; 2、通过OpenCV操作笔记本摄像头进行视频显示、拍照等功能; 3、加载图片; 4、对拍照图片或者加载的图…

Python贝叶斯回归分析住房负担能力数据集

我想研究如何使用pymc3在贝叶斯框架内进行线性回归。根据从数据中学到的知识进行推断。 最近我们被客户要求撰写关于贝叶斯回归的研究报告,包括一些图形和统计输出。 视频:线性回归中的贝叶斯推断与R语言预测工人工资数据案例 贝叶斯推断线性回归与R语言…

猿如意---Visual Studio手把手教学安装和下载.

亲自为大家示范如何使用猿如意以及在猿如意当中下载,安装和使用python3.10版本,让大家喜欢上这款好用的app—猿如意。 文章目录前言一、手把手教你猿如意的安装、下载二、手把手教你Visual Studio的安装、下载1.找到我需要的工具2.我需要的工具的安装、下…

最新Crack:foxit pdf sdk 8.4.1_win_java

Foxit pdf sdk一个功能强大、易于使用的核心 API,用于呈现、查看、注释、签名、保护和管理 PDF 中的表单。 Foxit pdf sdk开发人员的最佳工具 快速整合 C、C#、C、Python 和 Java 中功能强大且易于使用的核心 API。系统要求:Windows XP、Vista、7、8 和…

【云原生 | Kubernetes 实战】12、K8s 四层代理 Service 入门到企业实战应用(上)

目录 一、Service 四层代理基本介绍 1.1 四层负载均衡 Service:概念、原理解读 1 为什么要有Service? 2 Service 概述 3 Service 工作原理 4 kubernetes 集群中有三类 IP 地址 二、创建 Service 资源 2.1 Service 的四种类型 2.2 Service 的端口…

k8s编程operator实战之云编码平台——①架构设计

文章目录1、想法来源2、初步设想2.1 通过反向代理的方式访问后端Pod3、架构设计3.1 技术栈3.2 架构设计k8s编程operator系列:k8s编程operator——(1) client-go基础部分k8s编程operator——(2) client-go中的informerk8s编程operator——(3) 自定义资源CRDk8s编程op…

SpringSecurity管理接口权限

使用SpringSecurity管理具体接口访问权限。 需要先有授权服务器和资源服务器 Springboot利用Security做OAuth2授权验证_LO嘉嘉VE的博客-CSDN博客 Springboot利用Security做OAuth2资源服务器_LO嘉嘉VE的博客-CSDN博客 配置接口具体访问权限再有以上两个的基础上就比较简单了…