【Qt】按钮样式--按钮内部布局(调整按钮文本和图标放置在任意位置)

embedded/2024/9/23 23:31:50/

要求:
有一个按钮,要求按钮的右下角显示开关,点击切换开关状态
ps:注意,要求你添加完了之后,整个按钮的点击区域不变(就是说,点击右下角的文本,也可以触发按钮的点击事件,点击按钮中任何地方,都会触发点击事件,就是你在按钮上添加东西,不要影响按钮的点击区域)
效果:
在这里插入图片描述
实现:
将你要添加的东西,不管是label还是别的,都放在布局里,然后将按钮的布局设置一下就行。
我这个案例是添加了两个label

    // 设置测试按钮testButton = new QPushButton("", this);testButton->setMinimumSize(QSize(420, 232));testButton->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);testButton->setProperty("TestButton",true);// 设置文字textLabel = new QLabel;textLabel->setProperty("TestButtonText", "start");textLabel->setText("running");textLabel->setFixedHeight(32);// 设置iconiconLabel = new QLabel;iconLabel->setFixedSize(32, 32);iconLabel->setScaledContents(true);// 强制图片填满labelQPixmap _backgroundPixmap(":/img/start.png");iconLabel->setPixmap(_backgroundPixmap);// icon和文字布局QHBoxLayout* iconAndTextLayout = new QHBoxLayout();iconAndTextLayout->addStretch();iconAndTextLayout->addWidget(iconLabel);iconAndTextLayout->addWidget(textLabel);iconAndTextLayout->setSpacing(10);// 按钮布局QVBoxLayout* buttonLayout = new QVBoxLayout();buttonLayout->addStretch();buttonLayout->addLayout(iconAndTextLayout);testButton->setLayout(buttonLayout);

http://www.ppmy.cn/embedded/110944.html

相关文章

期权组合策略有什么风险?期权组合策略是什么?

今天期权懂带你了解期权组合策略有什么风险?期权组合策略是什么?期权组合策略是通过结合不同期权合约(如看涨期权和看跌期权),以及标的资产(如股票)来实现特定投资目标的策略。 期权组合策略市…

【数字集成电路与系统设计】基本的组合逻辑电路

目录 一、简单例子引入 1.1 端口声明 1.1.2 Verilog实现 1.1.3 Chisel实现 逐行解释 1.2 内部逻辑实现 1.2.1 Verilog实现 1.2.2 Chisel实现 Chisel 关键点解释 1.3 常用的硬件原语 二、Chisel主要数据类型介绍 2.1 数据类型 2.2 数据宽度 2.3 数据转换 2.4 运算…

Docker和K8S

Docker技术可以将生成的镜像,在docker容器中运行。Build Once Run Anywhere K8s是对容器集群进行管理协调的工具 一个K8S集群 有一个master节点和多个node节点 master节点里面有 1、etcd:文件保存集群各个节点的状态数据,配置数据等。使用raf…

弱口令爆破

本文仅作为学习参考使用,本文作者对任何使用本文进行渗透攻击破坏不负任何责任。 本文基于burp抓包软件针对dvwa靶场进行弱口令爆破测试。 靶场设置: 在DVWA Security中,设置安全等级,并保存。 打开靶场。 1,抓包。…

分布式本地缓存 ehcache 缓存同步复制

使用spring cache的方式 spring:#ehcache 配置cache:# 指定缓存类型 ehcache 本地缓存 redis 缓存type: ehcacheehcache:config: classpath:ehcache.xmlredis:# 指定存活时间(ms)time-to-live: 86400000# 指定前缀use-key-prefix: true# 是否缓存空值&a…

代码随想录 | Day21 | 二叉树:找树左下角的值路径总和

代码随想录 | Day21 | 二叉树:找树左下角的值&&路径总和 主要学习内容: 1.利用二叉树的谦虚遍历进行题目解答 2.to_string函数的使用 513.找树左下角的值 513. 找树左下角的值 - 力扣(LeetCode) 解法一:…

ThreeJS入门(001):简介、下载安装、历史、应用场景、竞品

查看本专栏目录 - 本文是第 001篇入门文章 文章目录 一、 Three.js 简介二、 Three.js 的历史与发展三、 公司背景四、下载安装五、官方网站六、应用范围场景七、相关竞品 一、 Three.js 简介 Three.js 是一个基于 WebGL 的 JavaScript 3D 库,它使得在 Web 上创建和…

Python中的私有属性与方法:解锁面向对象编程的秘密

在Python的广阔世界里,面向对象编程(OOP)是一种强大而灵活的方法论,它帮助我们更好地组织代码、管理状态,并构建可复用的软件组件。而在这个框架内,私有属性与方法则是实现封装的关键机制之一。它们不仅有助…