第一次使用QT4的Qt Style Sheets功能

Qt Style Sheets-样式表语法 样式表语法Qt 样式表术语和语法规则几乎与 HTML CSS 的相同。如果您已经了解 CSS,您可能可以快速浏览此部分。 阅读详情

我需要一个将Qt4中QPushButton按钮在获得焦点时背景色高亮的功能,如果要写代码很麻烦:)

使用Qt Sytle Sheets的功能后代码变的非常简单和干净:)

我是这样使用的

setStyleSheet("QPushButton:focus{background-color: red;}");

就会有按钮获得焦点高亮的作用

image  获得焦点时按钮红色高亮:)

由此体会到Qt4的Qt Style Sheets的功能的强大:)边学习边做些笔记以供还没有使用这个功能但又想方便的制定UI的朋友:)

Qt Style Sheets是什么?

Qt Style Sheets

Qt Style Sheets are a powerful mechanism that allows you to customize the appearance of widgets, in addition to what is already possible by subclassingQStyle. The concepts, terminology, and syntax of Qt Style Sheets are heavily inspired by HTML Cascading Style Sheets (CSS) but adapted to the world of widgets.

Qt Style Sheets能做什么?

#1 能让你的界面看上去更炫(那为什么要更炫呢?这个问题要看你自己了,我们公司做嵌入式产品的,设备上的界面的外观还是非常重要的:)

image

#2 能够要你实现同样的功能写更少的代码,比如我第一次使用Qt Style Sheets的

setStyleSheet("QPushButton:focus{background-color: red;}"); 的用法

这两个好处应该足够吸引一些人来使用这个功能,是否还有其他好处那我就不知道了,我现在就看到这两个好处就直流口水想用了:)

 

在哪里找到Qt Style Sheets的学习资料和使用例子?

具体的一些参考资料可以打开QT的assistant应用程序(API和使用说明文档)

输入关键字 Qt Style Sheets 查询,这个玩QT4的应该都会吧:)

image 

 

Qt Style Sheets如何使用?

如何使用的话主要参考assistent中的 The Style Sheet Syntax 一章

Style Rules

Style sheets consist of a sequence of style rules. A style rule is made up of a selector and a declaration. The selector specifies which widgets are affected by the rule; the declaration specifies which properties should be set on the widget. For example:

 QPushButton { color: red }
一个样式表(StyleSheets)有多个样式规则(StyleRules),每个样式规则有一个selector(我就不乱翻中文了,哈哈)和一个声明(declaration)。
selector指定这个规则可以影响哪些组件。声明(declaration)指定哪些属性作用于这些被影响的组件。
 
那意味着我们学习好样式规则就可以了:)样式规则是最主要的单位
一个样式规则是由A+B来组成的

A是selector

selector的语法有7种,参考上面有,我就不写了。规律就是除了可以写组件名字,还可以通过一些符号和行为将组件来过滤

比如
QPushButton[flat="false"] 表示flat属性为false的所有QPushButton
QPushButton#okButton 表示名字为okbutton的所有QPushButton
* 表示所有的QPushButton
其他几种不实用(对我来讲不实用,要用的时候再去看,我先学这四个,哈哈)

除了通过[]和#来过滤出需要被影响的组件

还可以使用::和:符号来进行过滤出更细级别的组件,也即是我一开始所用来做QPushButton聚焦时的效果
::符号我现在还没用到,具体可以做哪些设置,见Qt Style Sheets Reference的List of Sub-Controls。
:符号对我现在来讲比较有用,可以控制跟组件进行交互时的组件外观
QPushButton:hover { color: white }
QRadioButton:!hover { color: red }
QCheckBox:hover:checked { color: white }     链式的,可以组合:符号,哇,厉害~~
我所使用的QPushButton:focus{background-color: red;} 
B是declaration

The declaration part of a style rule is a list of property: value pairs, enclosed in braces ({}) and separated with semicolons. For example:

声明就是用 {}括起来的属性列表(0到多个吧),一个属性就是 键+ 冒号:+一个值

 QPushButton { color: red; background-color: white }
 

以上如果能理解,刚好是一个能使用QtStyleSheets的最小子集,QtStyleSheets具体的一些的其他用法和特殊用法可以看Assistant的资料,边

自己实践可以很快的掌握其他用法,我需要使用QtStyleSheet的地方大概就这么多,所以只写了这么多:)有不明白的地方或者错误的地方可以留言,

多讨论可以更快的学习知识,不是吗:)还省自己力气,呵呵                                                    ------飞羽飞之猪  2010年11月18日

Qt Style Sheets-入门 样式表是文本规范,可以使用() 在整个应用程序上设置,或者使用() 在特定的小部件(及其子部件)上设置。如果在不同级别设置了多个样式表,Qt 会从所有已设置的样式表中派生有效的样式表。这称为层叠。例如,以下样式表指定所有QLineEdit应使用黄色作为其背景颜色,并且所有QCheckBox对于这种定制,样式表比QPalette强大得多。例如,可能会很想将角色设置为红色以获得红色的。 阅读详情

相关推荐

Qt4-GUI-Style:探索Qt4的界面特效与定制

在开发图形用户界面(GUI)应用时,Qt4框架提供了一套丰富而灵活的设计工具,以实现美观和功能兼备的界面。界面设计不仅仅是关于“美”,更重要的是它影响着用户交互的直观性和软件的整体可用性。在Qt4中,开发者可以利用多种技术手段来构建应用程序的外观和行为。QStyle类在Qt框架中扮演着重要的角色,它是Qt为用户提供的一种机制,用于改变界面组件的外观。通过QStyle类,开发者可以统一地自定义界面元素的绘制风格,而不是直接修改底层的绘图代码。

weixin_42230607的博客 1083

qt样式表设置边框_QT__stylesheet__操作 QT皮肤编程(QT style sheet)总结Qt中设置widget背景颜色/图片的注意事项(使用样式表 setStyleS...

摘要:QT Create中,对button或者window等部件设置背景、颜色、透明等样式时,需要用到style sheet,可以直接在代码里写,也可以在ui设计师里通过右键change style sheet的方法来设置,本人是使用的后面的方式,下面介绍几种常见的用法。介绍:作者使用的开发环境为:qt creator 201005, qt4.7。1、利用style sheet给窗体设置背景使用s...

weixin_33644222的博客 1858

【STM32G474实战】RS485通信的DMA优化策略与性能对比

本文深入探讨了在STM32G474微控制器上优化RS485通信的DMA策略。通过对比轮询、中断和DMA三种数据传输方式的代码实现与性能,揭示了DMA在解放CPU、降低占用率方面的巨大优势。文章提供了详细的DMA配置指南、高级应用技巧(如结合空闲中断)以及一个高可靠通信框架的实战思路,旨在帮助开发者构建高效、实时的工业控制系统。

weixin_29268331的博客 301

通过Qt4.2样式表定制程序外观

本文翻译自Qt季刊(Qt Quaterly)第20期。原文地址: http://doc.trolltech.com/qq/qq20-qss.html译文地址:http://linuxstudy.cn/notes/show_note.php?name=qq20-qss通过Qt4.2样式表定制程序外观作者:Girish Ramakrishnan翻译:Zhan

seven407的专栏 900

基于激光雷达的目标跟随功能移植到自己的ROS机器人小车上

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、下载目标跟随的源码二、修改话题名称1.修改/cmd_vel话题名称2.修改/scan话题名称3.修改双电机正反转4.目标跟随功能测试 前言 本人尝试把github上的一个目标跟随项目移植到自己的机器人小车上,并且成功了,最终小车可以跟着人移动,在这里分享一下心得。基于激光雷达的目标跟随,通过获取激光雷达的信息,跟随最近的物体。 提示:以下是本篇文章正文内容,下面案例可供参考 一、下载目标跟随的源码 源码地址:https:

weixin_44574633的博客 4461

DataWorks PyODPS第三方包全攻略:从打包到加载的完整流程

本文详细介绍了在DataWorks的PyODPS节点中使用第三方Python包的完整流程,包括环境限制、打包工具pyodps-pack的使用、资源上传与加载实战,以及特殊场景处理技巧。通过本文,开发者可以掌握在MaxCompute受限环境中灵活使用自定义依赖的方法,提升数据处理效率。

dd012的博客 989

Qt Style Sheet实践(一):按钮及关联菜单

导读      正如web前端开发中CSS(Cascade Style Sheet)的作用一样,Qt开发中也可以使用修改版的QSS将逻辑业务和用户界面进行隔离。这样,美工设计人员和逻辑实现者可以各司其职而不受干扰。更重要的是,由于界面和逻辑处理是分离的,低耦合性使得代码重构的工作量可以减少到最小。QSS和CSS的语法几乎一致,除了Qt自身增加的一些属性之外,其余的属性都可以在CSS2或CSS3中...

weixin_33937913的博客 560

液压轴位置闭环控制(比例伺服阀应用)

液压阀的基础知识请参看下面的博客文章:PLC液压控制系列之比例流量阀结构分析_RXXW_Dor的博客-优快云博客比例流量阀液压同步控制的PID闭环调节可以参看下面这篇博文三菱FX3U-PLC 前馈+PID闭环调节实现液压同步控制(比例换向阀)_RXXW_Dor的博客-优快云博客液压控制系统在工业现场应用非常广泛,这篇博文我们简单分析下液压同步控制。这套系统的液压缸为单液压缸,首先简单介绍下什么是单作用液压缸,液压系统的详细理论分析大家可以找些专业书籍学习。

RXXW_Dor的博客 2262

QT 自定义widget 背景图片设置

在自定义widget中,通过setSheetStyle 设置的背景图片没有效果,必须加一层QFrame 定义一个QFrame, 设置QFrame的 sheetstyle 同时设置 widget setAutoFillBackground(true); 

linchuangsimeng的博客 1379

S32K144 UDSdoCAN 升级刷写实现笔记

本篇旨在描述如何开发“车规级”的软件升级程序,通过在S32K144平台上实现基于UDSdoCAN的刷写升级功能,带你一步步建立安全升级的“工程思维”,在这里既能收获经验还能获得工程源码、测试脚本,助你起飞,避坑提速!

汽车电子软件领域知识分享 811

13、核心网络模块:VyOS 设备配置实战

本文详细介绍了如何使用 Ansible 核心网络模块对 VyOS 虚拟设备进行自动化配置,涵盖环境搭建、变量设置、任务编写、playbook 运行及配置验证全过程。通过实际案例展示了 Ansible 在网络设备管理中的强大功能,包括多设备支持、模板化配置、备份回滚等优势,并提供了最佳实践建议与未来发展趋势分析,帮助读者提升网络运维效率。

linux6sysadmin的博客 114

Qt4_使用Qt样式表

使用Qt样式表 Qt的样式表主要是受到了CSS的启发,但同时也适用于窗口部件。样式表由影响窗口部件给制的样式规则组成。这些规则是普通文本。由于在运行时会解析样式表,所以可以通过制定样式表的方式来尝试设计不同的Qt应用程序:使用-stylesheet file.qss命令行参数、使用Qt设计师的样式表编辑器,或者在开发应用程序时嵌入一个QTextEdit。 样式表作用于上层的当前激活的QStyle上(例如,QWindowsVistaStyle或者QPlastiqueStyle)。因为创建样式表不引入任何子类,

qq_36314864的博客 1628

实战封神!YOLOv7 轻量化部署全攻略:ONNX格式转换+TensorRT极致加速(速度直接提升3-5倍,精度无损)

部署核心链路,这是YOLO系列部署的最优解,速度提升3~5倍,精度无损;ONNX是桥梁:解决模型兼容性问题,简化后能去掉冗余节点,是TensorRT加速的前提;TensorRT是核心:NVIDIA显卡的极致加速引擎,FP16量化是速度与精度的最优平衡,无需手动配置,一键开启;轻量化终极组合YOLOv7-tiny + 416尺寸 + TensorRT FP16,速度提升5~8倍,满足所有实时检测场景;避坑核心:转换参数必加,推理尺寸必须一致,engine文件显卡专属。

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

Qt Style Sheets

使用Qt Style Sheets可以制作个性化的UI界面。 Style sheets 是由一系列的style rules组成的。一条style rule 由选择器selector和声明declaration这两部分构成。selector说明这条规则在哪些widgets上起作用,declaration说明要在这些widgets上设置什么属性properties。例如: QPushBut

kevin111117的专栏 8万+

【局部规划模块曲线算法】曲线平滑介绍

本文先对轨迹平滑问题做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容(1)适合给移动机器人运动的路径【满足运动学,高阶平滑】(2)高阶的运动学不能够突变的【至少三阶的加速度不能突变,最好四阶的jerk和五阶的snap也不能突变】(3)在转弯的地方不会停下来(4)加减速均衡,节省能量(5)节省时间的。

qq_35635374的博客 5715

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Qt界面元素美化之QSS(Qt Style Sheets)样式表

Qt界面元素美化之QSS(Qt Style Sheets)样式表简介基本语法规则示例 简介 Qt程序界面中控件的背景图片、大小、字体颜色、字体类型、按钮状态变化等属性可以通过Qss文件来设置,美化UI界面。实现界面和程序的分离,快速切换皮肤。 Qt样式表是一种强大的机制,它允许您自定义小部件的外观,而不仅仅是通过子类化QStyle已经可以实现的功能。Qt样式表的概念、术语和语法与HTML的CSS样式表类似。 样式表是文本规范,可以使用QApplication::setStyleSheet()在整

宁静致远的博客 5165

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

【Qt】Qt Style Sheets (QSS) 指南:打造个性化用户界面

在现代软件开发中,用户界面的美观性和交互性是至关重要的。Qt Style Sheets(QSS)作为一种强大的样式定制工具,为开发者提供了类似于CSS的样式设置机制,使得界面设计更加灵活和多样化。通过QSS,开发者可以轻松地为Qt应用程序中的控件定义外观和行为,从而创建出既美观又具有良好用户体验的界面。本文将详细介绍QSS的选择器、样式属性以及如何利用这些工具来定制各种控件的样式,最终通过一个登录界面的设计示例,展示QSS在实际开发中的应用。QSS 是什么,类似于 CSS 这样的一种设置样式的机制,

Colorful___的博客 3409

IMSL CNL 7.0.0 (x86-64)Crack

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

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Qt Style Sheets Examples

通过styleSheets设置控件的外观,每次都要去查找,索性放在这里,方便查看Qt 5.8Qt WidgetsQt Style Sheets ExamplesQt 5.8.0 Reference DocumentationQt Style Sheets Reference ContentsStyle Sheet UsageCustomizing the Foreground and Backgr...

liangchunjiang的博客 417

Qt样式表参考:Qt Style Sheets

Qt样式表支持各种属性、伪状态和子控件,使得定制小部件的外观成为可能。 可设置样式的小部件列表 下表列出了可以使用样式表自定义的Qt小部件:

开软古剑楠 1278

Qt Style Sheets 全面架构指南:语法、性能与策略

Qt Style Sheets (QSS) 双重特性与核心机制解析 Qt Style Sheets (QSS) 提供了一种类似 CSS 的语法来定制 Qt Widgets 的外观,但其分层设计在带来便利的同时也引入了性能和维护挑战。QSS 核心语法包括选择器(类型、ID、属性等)和样式规则,但需注意其与 CSS 的关键差异,如类选择器严格绑定 C++ 类名。高级功能如子控件(::sub-control)和伪状态(:hover)支持精细控制动态 UI。此外,QSS 的层叠规则优先处理窗口部件自身样式,而特异性

greenspan的专栏 1719

BilldDesk 跨平台远程桌面控制:Web 直连、屏幕墙与私有化部署的完整上手指南

BilldDesk 是一款基于 Vue3 + WebRTC + Node.js 的开源跨平台远程桌面控制工具,支持 Web 网页、Windows、macOS、Android 多端互控,内置屏幕墙、批量群控、隐私屏与私有化部署。它把 ToDesk / 向日葵级别的能力做成了可自托管、可二次开发的 MIT 协议项目,你只需打开浏览器,就能远程接管另一台电脑,且连接、画质、帧率基本不设上限。 ## 核

gitblog_00666的博客 340

QT Style Sheets

Qt Style Sheets Qt样式表是一个强大的机制,允许您自定义小部件的外观,除了可以通过子类化QStyle。Qt样式表的概念、术语和语法很大程度上受到HTML级联样式表(CSS)的启发,但适应了小部件的世界。 主题: 概述 样式表语法 Qt设计器集成 使用样式表定制Qt小部件 Qt样式表参考 Qt样式表示例 概述 样式表是文本规范,可以使用QApplication::setStyleSheet()在整个应用程序上设置,也可以使用QWid...

Allen Roson 403
上一篇: windows下 Oracle9i的安装过程
下一篇: 野外动态信息采集2.0设计文档
飞羽飞之猪
博客等级 码龄21年 127粉丝 85原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值