QT之setStyleSheet设置Button样式

Qt之QSS的使用及常用控件的样式设置 原地址:https://mp.youkuaiyun.com/mdeditor/101059491 纯干货哦! 什么是QSS Qt Style Sheet简称QSS,Qt的样式表,模仿CSS,为Qt界面设置炫酷的展示效果。 如何使用QSS 推荐使用第二种方式 方式一:在界面中设置 不推荐使用 在编辑器中找到要设置样式的.ui文件,双击该文件,在界面编辑器中显示该文件 在界面编辑器的右侧,右键单击,在弹出的右键... 阅读详情

1.首先大致介绍一下setStyleSheet函数的作用:

Qt中设置按钮或QWidget的外观是,可以使用QT Style Sheets来进行设置,非常方便。
可以用setStyleSheet(“font: bold; font-size:20px; color: rgb(241, 70, 62); background-color: green”);来进行设置,其他的样式介绍如下:
font: bold; 是否粗体显示
border-image:""; 用来设定边框的背景图片。
border-radius:5px; 用来设定边框的弧度。可以设定圆角的按钮
border-width: 1px; 边框大小
font-family:""; 来设定字体所属家族,
font-size:20px; 来设定字体大小
font-style:""; 来设定字体样式
font-weight:20px; 来设定字体深浅
background-color: green; 设置背景颜色
background:transparent; 设置背景为透明
color:rgb(241, 70, 62); 设置前景颜色
selection-color:rgb(241, 70, 62); 用来设定选中时候的颜色

可以使用border-top,border-right,border-bottom,border-left分别设定按钮的上下左右边框,
同样有border-left-color, border-left-style, border-left-width.等分别来设定他们的颜色,样式和宽度

2.本次想要实现的效果就是按钮控件点击实现背景图片的来回切换,两种背景图片,在点击按钮控件的时候来回切换,类似与输入法上的中英文切换键一样,下面上代码:
btn_language = new QPushButton();//在头文件中声明
btn_language->setFixedSize(keyboard_btn_width, keyboard_btn_height);
btn_language->setStyleSheet(“QPushButton{background-image:url(:/image/res/EN-CH.png);”
“background-repeat: no-repeat;background-position: center;”
“background-attachment: fixed;background-attachment: fixed;”
“background-attachment: fixed;;background-clip: padding}”);
connect(btn_language, &QPushButton::clicked, this, &CKeyboardForm::btnLanguageClicked);
//设定按钮的背景图片,background-repeat可以设定背景图片的重复规则,这里设定为no-repeat,即不重复。
//background-position用来设定图片的位置,是左(left)还是右(right),还是在中间(center),是上(top)还是底部(bottom)。
//background-attachment用来这定背景图片是否卷动或者和窗口大小相匹配,默认是卷动的。

以上只是实现了按钮控件的背景图片显示,并没有实现切换。关于背景图切换我的思路是在按钮控件绑定的槽函数中进行相关操作,定义一个static flag,每点击一次按钮就就行判断flag的奇偶性,根据不同的情况来进行相关按钮控件的显示。下面给出的参考代码是通过对按钮的输入模式(中英文)进行判断的。
void CKeyboardForm::btnLanguageClicked()
{
if(m_eCurrentMode == InputMode::zh)
{
btn_language->setStyleSheet(“QPushButton{background-image:url(:/image/res/EN-CH.png);”
“background-repeat: no-repeat;background-position: center;”
“background-attachment: fixed;background-attachment: fixed;”
“background-attachment: fixed;;background-clip: padding}”);
m_eCurrentMode = InputMode::en;
}
else if(m_eCurrentMode == InputMode::en)
{
btn_language->setStyleSheet(“QPushButton{background-image:url(:/image/res/CH-EN.png);”
“background-repeat: no-repeat;background-position: center;”
“background-attachment: fixed;background-attachment: fixed;”
“background-attachment: fixed;;background-clip: padding}”);
m_eCurrentMode = InputMode::zh;
}
}

QT QSS setStyleSheet 利用宏快速设置按钮的三态点击效果 一个按钮的三态效果,字符串实在是太长了,很影响码容。 于是写了一个宏去简化代码,让代码看起来整洁了许多,分享给大家。有可以改进的地方,不吝赐教。 阅读详情

相关推荐

Qt 6 样式表 setStyleSheet 性能陷阱:3种高频调用场景下的内存泄漏与解决方案

本文深入探讨了Qt 6中setStyleSheet的性能陷阱,揭示了在高频调用场景下可能导致的内存泄漏问题,并提供了三种优化方案。通过动态UI状态切换、实时数据展示界面和嵌入式设备UI优化的实例,帮助开发者有效规避内存泄漏,提升应用性能。

weixin_34218890的博客 306

QT 常见控件样式表(QPushButton、QRadioButton、QCheckBox、QScrollBar、QTableView、QTableWidget、QComboBox、QSlider)

background-image:设置背景图片(根据图片大小) border-image:设置背景图片(根据控件大小) background-color:设置背景颜色 border-color:设置边框颜色 color:设置字体颜色 border:设置边框 例:border:1px solid red; border-radius:设置边框圆角 /*左上 右上 右下 左下*/ border-top-left-radius:设置单个圆角 font:设置字体 text-align: 设置

m0_67254672的博客 1万+

Qt样式表深度解析:精准定制QSpinBox按钮布局与样式

在Qt界面开发中,样式表(QSS)是实现控件外观定制化的核心技术,其工作原理类似于CSS,但专为桌面控件设计。通过理解子控件(Sub-controls)与伪状态(Pseudo-states)机制,开发者可以精准定位并修改复合控件内部元素的样式,例如QSpinBox的增减按钮。这项技术对于构建高度定制化的用户界面具有重要价值,尤其在需要符合品牌视觉规范或适配特定交互设计的桌面应用、嵌入式HMI等场景中。本文以QSpinBox为例,详细演示了如何将其默认的上下按钮布局改为左右布局,并深入探讨了QSS的盒模型计算

weixin_34301132的博客 354

Qt: QPushButton 常见样式设置

目的 主要用来整理QPushButton 样式相关设置, 方便后期能够进行设置。鉴于博主 1、无样式的按钮 2、改变字体颜色 color:#ff0000; 3、改变字体 font-family:Microsoft Yahei; 4、改变字号 font-size:15pt; 5、改变背景颜色 background-color:#c3e9e5; 6、设置上边框为2个像素,样式为实线,颜色为黑色 border-top:2px solid #000000; 7、设置所有边框为2个像素,样式为实

liunanya的博客 4万+

QT5 ---按钮 滑动块 进度条等控件背景\文本设置

方式一: /*============================Qt 调色板 QPalette ==========================*/ ui->progressBar->setStyle(QStyleFactory::create(“windows”));// 注意观察main.cpp 中的style代码 //QPalette 调色板 QPalette pal...

bengjizhong1930的博客 1100

Qt控件简单介绍

Qt可分为QCheckBox、QPushButton等基础控件和QListView、QCalendarWidget等高级控件,QPushButtonGroup、QCroupBox等同属性的组合控件,以及抽象控件三大类。

qq_30725967的博客 9170

Qt:setStyleSheet()函数

一.针对于具体label #include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); //设置label1字体颜色、背景色 ui->label_1->setStyleSheet("QLabel{co

weixin_44190648的博客 2236

自定义按钮,鼠标移入、移出、摁下,分别改变按钮图标样式原理和代码总结(上图标下文字、hover、QSS样式表、QPushbutton)1.zip

本代码主要总结一个自定义按钮,该按钮布局是上面图片下面文字,其中,可以自定义样式,当鼠标分别移入、移出、摁下自定义按钮时,自动改变自定义按钮中的图片。可以任意设置图片中文字和图片位置、以及鼠标移入、移出、摁下按钮时要在自定义按钮中显示的图片。编译环境是Qt5.9.4+MinGW32+Creator4.5.0。下面博客是对源代码的原理讲解和代码运行效果图文示例讲解:https://blog.youkuaiyun.com/naibozhuan3744/article/details/102690227

qt学习之button按钮和label标签的样式设置及相关问题

【代码】qt学习之button按钮和label标签的样式设置及相关问题。

weixin_42056469的博客 3682

QT精美样式表,超级好看

QT精美样式表,超级好看,对QT常用的控件都做了美化,包含按钮、编辑框、进度条、下拉框、表格等等几十种,特别美观。只要一套搞定QT界面。

PID控制器(位置式和增量式)

PID控制算法

zhinian_hao的博客 4512

Qt:CSS设置样式

注意:在qss文件中注释只能用/* */,不能用双斜杠 设置样式 setStyleSheet(styleSheet().isEmpty() ? “background-color: red” : “”); 不同级别的样式setStyleSheet() 1. QApplication:对整个应用生效 2. QWidget:对当前窗口生效(如果子窗口指定了父窗口,则子窗口使用父窗口的样式) 3. 控件...

onj123的博客 1978

深入解析SSD报错“READ FPDMA QUEUED”:从诊断到修复全流程

本文深入解析了SSD报错“READ FPDMA QUEUED”的含义、成因与全流程解决方案。该错误通常指示硬盘硬件或健康状态问题。文章详细介绍了如何通过系统日志定位错误、解读关键的S.M.A.R.T.健康报告(重点关注重分配扇区计数等指标),并逐步进行硬件排查(如更换SATA数据线)、软件修复与数据抢救,最终指导用户根据诊断结果做出维修或更换SSD的决策。

weixin_29233333的博客 398

setStyleSheet详解

setStyleSheet详解

xie__jin__cheng的博客 552

避开这些坑!QMT多因子策略实盘中的5个常见错误及解决方案

本文深入剖析了在QMT平台上实施多因子策略时常见的5个错误,包括因子过拟合、数据延迟处理不当、因子失效、交易成本低估和风险控制缺失,并提供了实用的解决方案。通过优化因子筛选、数据对齐和动态管理,帮助量化交易者提升策略稳健性和实盘表现。

k5l6m的博客 238

当AI学会自我验证:Chain-of-Verification如何杜绝错误决策?

2025年,大模型"幻觉"问题已成为企业落地AI的最大障碍之一——金融风控中1.2%的误判率可能导致千万级损失,医疗诊断中3%的错误可能危及生命,法律文书中5%的事实偏差可能引发合规风险。MetaAI与Google联合提出的**Chain-of-Verification(CoVe,验证链)**技术,让AI具备"自我审视"能力,通过结构化验证流程将幻觉率降低68%+,在复杂决策场景准确率提升至95%+。本文系统拆解CoVe的技术原理、实施路径与行业实战,为企业提供AI决策可靠性保障的完整方案。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1080

QT QPushButton 通过stylesheet 设置样式

QPushButton设置样式可以分两种方式: 第一种通过qss文件写样式,例如 QPushButton#noboder_button { border: 0px solid #FFFFFF; } 通过setobjectname("noboder_button")设置。 第二种: m_sendMessage->setStyleSheet("QPushButton{bo

wwwwxhh的专栏 7173

第14.1章 高翔博士2025年11月最新开源框架Lightning-LM源码学习解读(一):激光-IMU定位+建图算法各模块简介

Lightning-LM:高效激光SLAM定位系统 该框架基于模块化设计,通过激光-IMU融合实现快速建图与定位,核心特点包括: 极速性能:纯CPU运行(建图1.2核/定位0.8核) 模块化架构:包含激光里程计(LIO)、地图管理、回环检测等独立模块 动态场景支持:地图分块加载、动静态图层分离 多模式适配:支持ROS2环境下的在线/离线运行 关键模块包括前端里程计(core/lio)、2D/3D地图转换(core/g2p5)、轻量优化库(core/miao)等,通过系统控制器(core/system)协调流

行知SLAM 2436

Qt5.9设置pushButton按钮背景色和字体颜色

本博客主要总结Qt中设置pushButton按钮的背景色和字体颜色,具体的内容如所述:   1.1设置背景色可以用函数setStyleSheet("background: rgb(0,255,0));   1.2设置字体颜色用函数setStyleSheet("color: red);   1.3具体的代码如下图所示:     1.4程序运行后的效果图如图所示: push...

净无邪博客 7万+

Android 12 大屏时底下显示任务栏以及虚拟按键靠右问题

Android 12 点大屏时,底下导航栏变成显示任务栏,虚拟按键靠右的分析以及修改

Android系统开发笔记 4686

软件设计师考试下午题代码部分详解:23种设计模式全面解析

软件设计师考试的下午题通常会考察设计模式的应用,这部分内容既是重点也是难点。本文将系统地介绍考试中常见的23种设计模式,通过详细代码示例和通俗易懂的讲解,帮助考生掌握这些核心知识点,提高应试能力。概念:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。适用场景:系统要独立于产品的创建、组合和表示时;系统要由多个产品系列中的一个来配置时。@Override@Override@Override@Override// 产品族A@Override。

4万+

Qt设置圆角按钮样式

Qt中使用stylesheet方式将按钮设置成圆角按钮,代码如下:setStyleSheet("border:2px groove gray;border-radius:10px;padding:2px 4px;");如pushButton如下用法:pushButton->setStyleSheet("border:2px groove gray;border-r...

691

Vue3 - 详细实现接入使用海康威视监控云端显示及控制功能,网站集成安装海康监控及实时监控显示、回放、放大缩小画面、视频画面截图、截屏抓拍、摄像头控制,实时推流及播放器解决延迟卡顿等问题(详细代码)

vue3,nuxt3,海康威视,海康监控,摄像头监控,实时监控画面,海康插件,视频播放,回放,视频流地址,取流协议,视频sdk播放,hik,rtsp,rtmp,hls,ws,网站,网页,h5页面,后台管理系统,vue3对接海康监控设备,无法连接,报错,vue3对接海康处理接口认证规则,监控实时预览和回放功能,海康api接口,安全认证,海康开放平台,官方文档,播放海康摄像头的监控视频,海康实时监控播放详细步骤,web,黑屏,特别卡不流畅怎么办,解决无法推流,录像,连接不上,vue3,海康,vue海康视频监控,

🏆 前端领域优质创作者 1万+

Qt中使用setStyleSheet对按钮进行外观设置

Qt中使用setStyleSheet对按钮进行外观设置 字体颜色的设置一般时以下两种方案:(1)属于QWidget子类的一些控件可以直接使用样式表,例如label->setStyleSheet("color:white");(2)不属于QWidget子类的控件可以考虑设置其前景色,例如各种ViewtreeWidgetItem->setForeground(0,QBrush(QC...

maonianlove的博客 997

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

qt界面布局之Push Button的使用规则

1、调色网页,rgb的网页:http://www.360doc.com/content/12/0115/10/7695942_179488602.shtml 2、给按钮设置背景色 在构造函数中加入: ui->pushButton->setStyleSheet("background-color: rgb(255,215,0)"); 将按钮设置为圆角形状: ui-&gt...

Littlehero_121的博客 2744

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

上一篇: QT之鼠标事件的全局捕获
下一篇: Qt paintEvent事件显示图片文字
自先沉稳~
博客等级 码龄8年 59粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值