Qt——浅谈样式表
优秀的程序,不仅要有严密逻辑,而且应该有美观的外表。从软件界面,便可看出你是否用心在做,是否是一个有思想的人。
Qt样式表的术语和语法规则和HTML CSS有很多相似之处。
样式规则
Qt中样式规则由“选择器”和“声明”构成。选择器决定了该规则影响的是哪个Widget;声明决定了该规则把哪些属性设置到了Widget上。
比如QPushButton{color:red},这条规则指定了QPushButton以及它的子类使用红色作为它的前景色。
多个选择器可以使用同样的声明,使用逗号,将它们隔开。
比如QPushButton, QLineEdit, QComboBox{color:red}
选择器的种类
|
选择器 |
例子 |
说明 |
|
通配选择器 |
* |
匹配所有的widget |
|
类型选择器 |
QPushButton |
匹配QPushButton的所有实例及其子类 |
|
属性选择器 |
QPushButton[flat="false"] |
匹配所有不是flat的所有QPushButton的实例。 代码中这样写button->setProperty("flat", false); 注意:如果样式表已经设置了,这时你改变属性值,那么有必要强制刷新它的样式。一种方法是先去掉样式然后重新设置。 QStyle *pStyle = this->style(); pStyle->unpolish(button); pStyle->polish(button); |
|
类选择器 |
.QPushButton |
匹配QPushButton的所有实例,但是不包括它的子类。 |
|
ID选择器 |
QPushButton#okButton |
匹配所有object name是okButton的QPushButton。 button->setObjectName("okButton"); |
|
后代选择器 |
QDialog QPushButton |
匹配所有属于QDialog后代(子、孙...)的QPushButton的实例。 |
|
孩子选择器 |
QDialog > QPushButton |
匹配所有属于QDialog儿子的QPushButton的实例。 |
子控件和伪状态
使用双冒号::设置复杂空间的子控件的样式,使用单冒号:设置控件的伪状态,比如hover、press等。
Qt——浅谈样式表的更多相关文章
- QT 设计师使用样式表添加背景
QT create中样式表可以用来设置背景图.背景颜色.字体大小格式颜色等 1.添加背景图的话需要先添加资源文件 右击项目文件选择添加新文件,再选择QT资源文件(QT resource file)然后 ...
- Qt浅谈内存泄露(总结)
Qt浅谈内存泄露(总结) 来源 http://blog.csdn.net/taiyang1987912/article/details/29271549 一.简介 Qt内存管理机制:Qt 在内部能够维 ...
- Qt浅谈之总结(整理)
Qt浅谈之总结(整理) 来源 http://blog.csdn.net/taiyang1987912/article/details/32713781 一.简介 QT的一些知识点总结,方便以后查阅. ...
- Qt浅谈之四十九俄罗斯方块(代码来自网络)
一.简介 从网上下载了一个Qt实现的俄罗斯方块单机版的源码,觉得非常有意思,故以博客形式记录下来,以便慢慢来研究.在centos6.6下编译运行(注意程序运行需要读取pro目录的配置文件,若把编译目录 ...
- 使用qt帮助 查看样式表stylesheet的帮助文档
QCreactor帮助文档中搜索的关键字 Qt Style Sheets Examples 有所有控件的样式例子 Qt Style Sheets Reference 控件的所有 ...
- 浅谈Oracle表之间各种连接
Oracle表之间的连接分为三种: 1.内连接(自然连接) 2.外连接 2.1.左外连接(左边的表不加限制,查询出全部满足条件的结果) 2.2.右外连接(右边的表不加限制,查询出全部满足条件的结果) ...
- Qt浅谈之二十七进程间通信之QtDBus
一.简介 DBus的出现,使得Linux进程间通信更加便捷,不仅可以和用户空间应用程序进行通信,而且还可以和内核的程序进行通信,DBus使得Linux变得更加智能,更加具有交互性. DB ...
- Qt浅谈之四十五QSplitter实现自由伸缩滑动窗口
一.简介 最近看到一篇Qt实现伸缩滑动的窗口的文章,但其代码不完整.便在此重新书写了完整的代码,并开源出来.窗口的中央有滑动条可以动态改变子窗口的大小,隐藏的按钮可以快速伸缩子窗口.其效果图如下: 二 ...
- Qt浅谈之二十App自动重启及关闭子窗口
一.简介 最近因项目需求,Qt程序一旦检测到错误,要重新启动,自己是每次关闭主窗口的所有子窗口但有些模态框会出现问题,因此从网上总结了一些知识点,以备以后的应用. 二.详解 1.Qt结构 int ma ...
随机推荐
- [翻译]Apache Spark入门简介
原文地址:http://blog.jobbole.com/?p=89446 我是在2013年底第一次听说Spark,当时我对Scala很感兴趣,而Spark就是使用Scala编写的.一段时间之后,我做 ...
- 使用Object.create 克隆对象以及实现单继承
var Plane = function () { this.blood = 100; this.attack = 1; this.defense = 1; }; var plane = new Pl ...
- sql 小操作
1.COALESCE(oe.promotion_value, 0) 设置默认值 2.group_concat(pspk.name) 合并字段
- ArcGIS10.2.2 Desktop直接连接数据库的具体步骤
ArcGIS10.2.2 Desktop直接连接数据库的具体步骤,以sqlserver2008R2和oracle11G数据库为例子,这里数据库的具体安装步骤不说了,不在讨论的范畴之内. 假如数据库软件 ...
- HTTP慢速DOS(slow http denial of service attack)
0x00用途 DOS攻击测试 0x01原理 传送门: http://blog.csdn.net/meiru8/article/details/38726025 https://www.nigesb.c ...
- Attempt to insert non-property list object 报错原因
NSUserDefault 支持的存储类型有:NSString. NSNumber.NSDate. NSArray.NSDictionary.BOOL.NSInteger.NSFloat等系统定义的数 ...
- Intent属性详解一 component属性
先看效果图 概述 在介绍Component之前,我们首先来了解ComponentName这个类:ComponentName与Intent同位于android.content包下,我们从Android官 ...
- 转载自jguangyou的博客,XML基本属性大全
android:layout_width 指定组件布局宽度 android:layout_height 指定组件布局高度 android:alpha 设置组件透明度 android:backgroun ...
- Play Framework 完整实现一个APP(十二)
1.定制CRUD管理页面 > play crud:ov --layout 替换生成文件内容 app/views/CRUD/layout.html #{extends 'admin.html' / ...
- MongoDB-分片片键
1.分片 分片是什么?分片就是将数据存储在多个机器上.当数据集超过单台服务器的容量,服务器的内存,磁盘IO都会有问题,即超过单台服务器的性能瓶颈.此时有两种解决方案,垂直扩展和水平扩展(分片). ...