利用QSS自由控制QPushButton中图片和文字的位置

Qt:上图标下文字的按钮 上图标下文字的按钮 QPushButton用qss自定义设置上图标下文字的样式。:QToolButton 设置Qt::ToolButtonTextUnderIcon。 阅读详情
AI摘要

本文详细介绍了如何通过CSS3的background-origin和background-position属性,结合padding,使用QSS来调整QPushButton中的图片和文字位置。通过示例代码展示了不同组合实现的按钮样式,包括图片的顶部、左侧、右下角等位置,以及文字的顶部、左侧、右下角等对齐方式,实现了灵活的布局控制。

在用QPushButton的qss的时候,发现其实可以手动控制图片和文字的位置,而不用再在paintEvent里去画图片和文字,从而控制其位置。

看看效果:
在这里插入图片描述

一、控制QPushButton中图片位置

效果:
在这里插入图片描述

首先我们看利用qss如何控制图片位置

QPushButton {
    background-color: #60C171;
    background-image: url(:/images/home_small.png);
    background-origin: content;
    background-position: top;
    padding-top: 2px;
    background-repeat: no-repeat;
}

其中最重要的一个是 background-origin: content; 这个是相对内容进行定位,具体可以参考关于CSS3 background-origin属性

background-position: top;

这里的background-position的值可以是一个值,比如left top right bottom center中的一个,也可以是两者的组合,比如left top,right bottom等,具体大家试一下效果,就知道了。

QPushButton中的图片位置,关键点为:

background-origin: content;
/*下面两个属性控制图片的对齐方式和间距*/
background-position: top;
padding-top: 2px;

/*或者通过水平和垂直对齐方式来控制*/
background-position: left bottom;
padding-left: 2px;
padding-bottom: 2px;

通过水平和垂直对齐方式,以及padding的值,就能很好的控制QPushButton中图片的位置。

qss为:

QPushButton#pushButton_1 {
    background-color: #60C171;
    background-image: url(:/images/home_small.png);
    background-origin: content;
    background-position: top;
    padding-top: 2px;
    background-repeat: no-repeat;
}

QPushButton#pushButton_2 {
    background-color: #60C171;
    background-image: url(:/images/home_small.png);
    background-origin: content;
    background-position: left;
    padding-left: 2px;
    background-repeat: no-repeat;
}

QPushButton#pushButton_3 {
    background-color: #60C171;
    background-image: url(:/images/home_small.png);
    background-origin: content;
    background-position: left bottom;
    padding-left: 2px;
    padding-bottom: 2px;
    background-repeat: no-repeat;
}

QPushButton#pushButton_4 {
    background-color: #60C171;
    background-image: url(:/images/home_small.png);
    background-origin: content;
    background-position: right top;
    padding-right: 2px;
    padding-top: 2px;
    background-repeat: no-repeat;
}

二、QPushButton中文字位置

效果图:
在这里插入图片描述

QPushButton#pushButton_5 {
    background-color: #60C171;
    text-align: top;
    padding-top: 8px;
    font-size: 12px;
    color: #FFFFFF;
}

QPushButton#pushButton_6 {
    background-color: #60C171;
    text-align: left;
    padding-left: 8px;
    font-size: 12px;
    color: #FFFFFF;
}

QPushButton#pushButton_7 {
    background-color: #60C171;
    text-align: left top;
    padding-left: 2px;
	padding-top: 2px;
    font-size: 12px;
    color: #FFFFFF;
}

QPushButton#pushButton_8 {
    background-color: #60C171;
    text-align: right bottom;
    padding-right: 2px;
	padding-bottom: 2px;
    font-size: 12px;
    color: #FFFFFF;
}

同样的 text-align: right bottom; 也支持水平和垂直两个值,也可以 text-align: right;

三、同时控制QPushButton的图片和文字位置

就是将控制QPushButton中的图片和文字方式进行任意组合

目前就列举了几种情况:
在这里插入图片描述

QPushButton#pushButton_9 {
    background-color: #60C171;
    background-image: url(:/images/home_small.png);
    background-origin: content;
    background-position: left top;
    padding-left: 2px; /*利用padding-left和padding-top来控制image的位置*/
    padding-top: 2px;
    background-repeat: no-repeat;

    background-color: #60C171;
    text-align: right bottom;
    padding-right: 2px; /*利用padding-right和padding-bottom来控制文字的位置,这样不至于属性被覆盖*/
    padding-bottom: 2px;
    font-size: 12px;
    color: #FFFFFF;
}

QPushButton#pushButton_10 {
    background-color: #60C171;
    background-image: url(:/images/home_small.png);
    background-origin: content;
    background-position: right bottom;
    padding-right: 2px;
    padding-bottom: 2px;
    background-repeat: no-repeat;

    background-color: #60C171;
    text-align: left top;
    padding-left: 2px;
    padding-top: 2px;
    font-size: 12px;
    color: #FFFFFF;
}

QPushButton#pushButton_11 {
    background-color: #60C171;
    background-image: url(:/images/home_small.png);
    background-origin: content;
    background-position: top;
    padding-top: 2px;
    background-repeat: no-repeat;

    background-color: #60C171;
    text-align: bottom;
    padding-bottom: 2px;
    font-size: 12px;
    color: #FFFFFF;
}

QPushButton#pushButton_12 {
    background-color: #60C171;
    background-image: url(:/images/home_small.png);
    background-origin: content;
    background-position: left;
    padding-left: 2px;
    background-repeat: no-repeat;

    background-color: #60C171;
    text-align: right;
    padding-right: 2px;
    font-size: 12px;
    color: #FFFFFF;
}

代码下载:
百度云
链接:https://pan.baidu.com/s/1wqZXgGM_xT2cjnQ8ZMhYyw
提取码:bsgw

参考;
QPushButton通过Qss控制背景图片位置

关于CSS3 background-origin属性

Qss样式的盒子模型

C C++最新利用QSS自由控制QPushButton中图片和文字的位置_qss 文字位置,2024年最新C C++开发知识点 *利用padding-left和padding-top来控制image的位置*/小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!/*下面两个属性控制图片的对齐方式和间距*//*或者通过水平和垂直对齐方式来控制*/ 阅读详情

相关推荐

QSS自定义QPushButton实例编程

通过灵活运用QSS,您可以创建出各种不同风格的按钮,以满足您的界面设计需求。通过设置不同的属性,我们可以改变按钮的背景颜色、边框样式、边框宽度、边框圆角、边框颜色、字体样式和内边距等。现在,我们将使用QSS来自定义QPushButton的外观。在本文中,我们将探讨如何使用Qt样式表(QSS)来自定义QPushButton的外观。QSS是Qt框架中的一种机制,允许开发人员使用CSS样式语法来定义和修改Qt界面的外观。首先,我们需要创建一个Qt应用程序,并在代码中添加一个QPushButton控件。

HackMasterX的博客 289

QSS之QPushButton 详细介绍

官方参考资料 QPushButton { /* 前景色 */ color:red; /* 背景色 */ background-color:rgb(30,75,10); /* 边框风格 */ border-style:outset; /* 边框宽度 */ border-width:2px; ...

wanyongtai的博客 4万+

小白白也能学会的 PyQt 教程 —— QPushButton 基本使用

QPushButton是是 PyQt 中用于创建按钮的类。它直接继承自 QAbstractButton类,间接继承自 QWidget 类,因此可以像其他窗口部件一样进行布局和管理。作为常用的小部件之一,QPushButton可用于添加交互性并为用户提供操作按钮。它具有丰富的功能和属性,可以显示文本标签或图标,支持信号与槽机制,允许分配快捷键,并可通过样式表进行自定义外观。通过使用QPushButton,开发人员可以轻松地在Qt应用程序中添加按钮并实现自定义的外观和行为,从而为用户提供更好的界面体验。

繁依Fanyi的博客 6735

【QT入门】Qt自定义控件与样式设计之QPushButton常用qss

【QT入门】Qt自定义控件与样式设计之QPushButton常用的qss

LF__plus的博客 7670

Qt之使用QSS设置QPushButton图标和文本的位置

Qt之使用QSS设置QPushButton图标和文本的位置,本文将演示如何使用样式表控制按钮中的图标和本文。

草上爬的博客 1万+

文档多模态识别工具对比:MinerU、PaddleOCR、Marker

本文对比了三款文档多模态识别工具:MinerU、PaddleOCR和Marker。MinerU专注于中文文档的端到端解析,支持复杂元素提取和结构化输出,适合中文论文和教材解析。PaddleOCR是通用OCR工具包,支持多语言和全流程任务,适用于发票、车牌等图像OCR。Marker则注重多语言支持和轻量化部署,适合英文论文和技术文档的快速转换。三者在核心技术、中文优化、表格处理、输出格式、部署复杂度和适用语言等方面各有优劣。选型建议根据具体需求:MinerU适合高精度中文解析,PaddleOCR适合定制化OC

朴拙科技的博客 4744

QSS的使用

一、程序应用qss文件 QString qssPath = QString("%1/stylesheet/style.qss").arg(a.applicationDirPath()); QFile file(qssPath); if(file.open(QFile::ReadOnly)) { a.setStyleSheet(file.readAll()); } file.close(); 二、单个应用qss

pzs0221的专栏 6926

从爱好者到工程师:如何低成本体验RFSoC ZU47DR?性能实测与避坑指南

本文详细介绍了如何低成本体验赛灵思RFSoC ZU47DR芯片,包括二手开发板选购、租赁服务、精简开发环境搭建等实用方案。通过性能实测与避坑指南,帮助爱好者和工程师在有限预算下充分利用这款集成了ARM处理器和FPGA的高性能芯片,降低开发门槛。

weixin_42525005的博客 221

关于Qt 样式表实战:QPushButton 图片背景、图标及图文排列的问题解析

关于Qt 样式表实战:QPushButton 图片背景、图标及图文排列的问题解析

qianniulaoren的博客 2353

最邻近点对问题(Closest-Pair Problem):二维的分治解法详解

低维时,最邻近点对问题可以利用分治求解。但是网络上相关资料良莠不齐,对于3维甚至难有有价值的参考。最近恰巧梳理了123维最邻近点对问题的相关知识,故在此分享。这是该系列的第二篇,介绍二维情况的分治解法。

Carl_Rabbit的博客 1万+

VFIO框架源码分析(一)- 从初始化到设备访问

本文深入剖析了Linux内核中的VFIO(Virtual Function I/O)框架,详细解读了其从初始化到设备访问的全过程。VFIO通过Container->Group->Device的层次化设计,利用IOMMU提供安全隔离,允许用户空间直接访问物理设备。文章基于Linux v5.15版本,重点分析了vfio_init模块入口、Container创建与配置、Group关联以及最终设备访问等关键环节,揭示了VFIO如何通过逐层授权机制构建安全可靠的设备直通模型,为虚拟化技术提供核心支持。

qq_36071928的博客 380

QPushButton图片显示在文字上

如题

FWY0x7CF的博客 1423

利用XGBoost实现短期电力负荷预测

本数据集为某地区2009年-2015年的用电负荷,时间片为每分钟这里我们定义了XGB模型作为实例,来进行模型训练,之后我们会对其使用网格搜索找到最优的参数。

优快云 精品推荐 4495

【QT】界面优化:QSS

QSS是Qt框架专属界面样式描述语言,设计思路借鉴前端CSS,核心用于Qt各类控件的界面美化,从文字颜色、边框圆角、背景图片到悬浮、点击等交互状态都能通过QSS实现。遵循从基础语法→代码挂载形式→工程化样式解耦→各类选择器语法→盒模型底层原理→全控件实战落地的学习逻辑,覆盖从零散行内硬编码样式,到独立QSS资源文件管理、Qt Designer内嵌UI样式三种工业级开发方案;

艾莉丝努力练剑的博客,感谢大家一直以来的对艾莉丝的支持和鼓励,uu们如果对C/C++方向感兴趣的话,可以通过艾莉丝主页的微信名片加艾莉丝的好友,和努力练剑的艾莉丝一起加油! 3650

Java小白入门200例81之Java接口

作者简介 作者名:编程界明世隐 简介:优快云博客专家,从事软件开发多年,精通Java、JavaScript,博主也是从零开始一步步把学习成长、深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢迎您关注,期待与您一起学习、成长、起飞! 引言 很多Java初学者问我,新手明明很用心、很努力学习的Java知识,转头又忘记了,很让人犯愁,小白如何能够快速成长、成为大牛呢? 其实要成为大神的技巧只有一个:“多学多练”,于是明哥就整理了比较典型的练习实例,通过练习能够快速提升编码技巧和熟练度,让你在成为大

编程界明世隐的博客 1358

电机驱动和电源等大电流设计中的并联 MOSFET设计

在电机驱动等应用中,半桥拓扑(通常为 3 相)用于生成在电机中产生正扭矩或负扭矩的交流电源信号。想要更高的输出电流能力,只有通过并联形成每个功能开关的 MOSFET,才能实现高输出电流。当多个功率 MOSFET 并联以增加系统整体电流能力容量时,通常假设电流在并联器件之间均等分配或均等共享。然而,在并联 MOSFET 时,需要考虑并联器件之间的电流分配。PCB 布局的若干特性和特定的MOSFET 参数会影响这种分配,并在参数不匹配或布局不对称时导致均流不平衡。

小幽余生不加糖 2487

利用QPushButton和QButtonGroup实现导航按钮

先看看效果: 利用QButtonGroup实现按钮的互斥选中。 取消选择,和选择第二个(可以通过参数控制选择哪个按钮) ui文件: 左侧的按钮都需要设置为Checkable 或者代码里去设置 // 在ui文件里设置也是一样的效果,ui文件里勾选checkable ui->homePushButton->setCheckable(true); ui->savePushButton->setCheckable(true); ui->printPu

斧冰 1766

R语言生存分析之竞争风险模型

R语言生存分析之竞争风险模型 竞争风险模型(Competing Risk Model)是一种处理多种潜在结局生存数据的分析方法,早在1999年Fine和Gray就提出了部分分布的半参数比例风险模型,通常使用的终点指标是累积发生率函数(cumulative incidence function,CIF)。 研究中结局事件可能有多个,某些结局将阻止感兴趣事件的出现或影响其发生的概率,各结局事件形成“竞争”关系,互为竞争风险事件。 竞争风险模型( Competing Risk Model ) : 指

data+scenario+science+insight 5247

Qt开发 | qss介绍及控件应用 | qss加载方式 | 控件提升 | 鼠标位置与控件位置 | 搜索编辑框 | tab在左文本水平的tabWidget

Qt Style Sheets ,简写是QSS,Qt样式表,用于修改控件外观,美化界面。它类似于前端的CSS(Cascading Style Sheets)但专门用于Qt应用程序。QSS允许开发者通过样式表来控制窗口部件的外观和感觉,而无需修改应用程序的源代码。

zwcslj的博客 2509

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

关于 QPushButton 下图标与文字之间的间距问题

本文介绍了在Qt6中使用QPushButton时图标与文字间距过近的解决方案。作者发现通过QSS样式表调整间距无效后,提出了自定义按钮控件的实现方法。通过继承QPushButton并重写paintEvent函数,手动控制图标和文字的绘制位置,实现了可自定义的间距效果。代码中提供了完整的MyPushButton类实现,包含设置间距的属性和精确计算绘制区域的逻辑,解决了原生控件无法调整间距的问题。该方法适用于需要精确控制按钮布局的Qt开发场景。

m0_37623485的博客 187

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

QPushButton QSS(一):按钮常用qss

本文实现如下按钮的三种qss样式。

weixin_45312249的博客 140

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

PySide6从0开始学习的笔记(十一) QSS 属性选择器

如果内置属性无法满足筛选需求,可通过给控件设置自定义属性btn = QPushButton("危险按钮")# 设置自定义属性:type=danger# 如果是动态修改属性,需刷新样式才能生效import sysbtn = QPushButton("危险按钮")# 设置自定义属性:type=danger、size=largebtn2 = QPushButton("启动按钮")""")enabledfocusobjectName等;控件专属属性(如 QPushButton 的default。

xulibo5828的博客 1289

QT基础使用1-QPushButton设置不同方向的图文

QPushButton设置不同方向的图文

weixin_48652496的博客 2847

Qt 高级编程 037:QSS按钮样式封神指南

本文为Qt按钮样式设计的实战指南,包含三大核心解决方案: 基础圆角按钮 - 通过QSS三态伪类(普通态、hover悬浮态、pressed点击态)实现动态效果,搭配ID选择器精准控制单个按钮样式,支持四角独立圆角设置。 背景图片按钮 - 详解qrc资源文件配置方法,提供VIP按钮三态切换实现方案,重点解决图片路径问题和background-repeat平铺问题,包含工程规范图集要求。

软件科学-郝学胜 253

Qt 按钮 QPushButton 全函数与 QSS 样式速查:从 setStyleSheet 到 setProperty 的配置骨架

Qt 按钮 QPushButton 样式失效?本文给出从 setStyleSheet 到 setProperty 的完整配置骨架,含可复制 QSS 片段与 unpolish/polish 动态切换步骤,并整理常见报错排查对照。搭配 TaoToken 辅助生成样式片段,官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 可接入模型对话。

weixin_42610010的博客 9

(QT)qss与按钮

QT QSS(Qt Style Sheets)文件是一种基于CSS的样式表语言,用于定义QT应用程序的外观和风格。它可以用于控制应用程序中的各种界面元素的外观和行为,如按钮、标签、文本框、滚动条等。

qq_57594025的博客 1535
上一篇: Cef3中js与C++交互(六)—— JS异步回调
下一篇: 利用QPushButton和QButtonGroup实现导航按钮
hp_cpp
博客等级 码龄11年 310粉丝 218原创
评论 11
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值