Qt样式表语法

news2024/10/5 13:18:55

样式规则

每个样式规则由选择器和声明组成。

选择器:指定受该规则影响的部件。

声明:指定这个部件上要设置的熟悉

如:QPushButton{color:red}

QPushButton是选择器;

{color:red}是声明;

color是属性;

red是值。

选择器{属性1:值1;属性2:值2;属性3:值3}

此规则指定了QPushButton和它的子类使用红色作为前景色。样式表中一般不区分大小写,如color与coLOR表相同属性,但类名、对象名及Qt属性名区分大小写

声明中的多组“属性:值”列表以分号“;”隔开,如

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

选择器类型

选择器

示例

说明

通用选择器

*

匹配所有部件

类型选择器

QPushButton

匹配所有QPushButton实例及它的所有子类

属性选择器

QPushButton[flat=”false”]

匹配QPushButton的属性flat为false的实例

类选择器

.QPushButton

匹配所有QPushButton实例,但不包括它的子类

ID选择器

QPushButton#okButton

匹配所有QPushButton中的okButton对象的实例

后代选择器

QDialog QPushButton

匹配所有的QPushButton实例,它们必须是QDialog的子孙部件

孩子选择器

QDialog>QPushButton

匹配所有的QPushButton实例,它们必须是QDialog的直接子部件

子部件

对于一些复杂的部件修改样式,可能需要访问它们的子部件,如QComboBox的下拉按钮,QSpinBox的向上、向下箭头灯。

如:

下拉按钮设置图片属性:

QComboBox::drop-down{image:url(dropdown.png)}

伪状态

①选择器可以包含伪状态来限制规则在部件的指定状态上的应用。伪状态在选择器之后,用冒号隔离。如

鼠标悬停在按钮上时被应用:

QPushButton:hover{color:white}

鼠标不悬停在按钮上时被应用(!表否定):

QPushButton:!hover{color:white}

②伪状态可多个连用,达到逻辑与效果。如

鼠标悬停在一个被选中的QCheckBox部件上时才应用规则:

QCheckBox:hover:checked{color:white}

③伪状态可通过逗号达到逻辑或效果。如

QCheckBox:hover,checked{color:white}

④伪状态和子部件联合使用。如

QComboBox::drop-down:hover{image:url(dropdown_bright.png)}

冲突解决

几个样式规则对相同的属性指定不同的值时会产生冲突。如

QPushButton#okButton{color:gray}

QPushButton{color:red}

冲突原则:特殊的选择器优先。此例中QPushButton#okButton代表的是单一对象,而不是一个类的所有实例,所以okButton的文本颜色会是灰色的。同样的有伪状态的比没有伪状态的优先。

①层叠

样式表设置在QApplication上、父部件上或子部件上。部件有效的样式表示通过部件的祖先样式表和QApplication上的样式表合并得到的,当发生冲突时,部件自己的样式表优先于任何继承的样式表

②继承

当使用Qt样式时,部件并不会自动从父部件继承字体和样色样式设置。如一个QPushButton包含在一个QGroupBox中,这里对QGroupBox设置样式表:

qApp->setStyleSheet(“QGroupBox{color:red;}”);

但没有对QPushButton设置样式表,这是QPushButton会使用系统颜色,而不会继承QGroupBox的颜色,如果想要QGroupBox的颜色设置到其子部件上,可以这样:

qApp->setStyleSheet(“QGroupBox,QGroupBox*{color:red;}”)

③设置QObject属性

从Qt4.3开始,任何可设计的Q_PROPERTY都可以使用“qproperty-属性名称”语法来设置样式表。如:

MyLabel{qproperty-pixmap:url(pixmap.png);}

MyGroupBox{qproperty-titleColor:rgb(100,200,100);}

QPushButton{qproperty-iconSize:20px 20px;}

盒子模型

使用样式表时,每个部件被看作拥有4个同心矩形的的盒子,四个矩形的内容分别为内容(content)、填衬(padding)、边框(border)、边距(margin)。边距、边框宽度和填衬等属性的默认值都是0,这样四个矩形正好重叠。

设计模式下设置样式表

①右键单击部件,选择“改变样式表”,然后进行样式的编辑。

②部件属性区选择styleSheet也可进行样式的设置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/136339.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用prometheus监控ES

下载elasticsearch_exporter wget 下载二进制包并解压、运行: wget https://github.com/prometheus-community/elasticsearch_exporter/releases/download/v1.3.0/elasticsearch_exporter-1.3.0.linux-amd64.tar.gz tar -xvf elasticsearch_exporter-1.3.0.linux-a…

ARM6818开发板画任意矩形,圆形,三角形,五角星,6818开发板画太极,画五星红旗(含码源与思路)

本文利用6818开发板完成LCD屏上绘制任意的矩形,圆形,三角形或五角星形图案,还有绘制太极,五星红旗的方案。 目录 映射 绘制矩形 代码思路 代码实现 实践出真知 绘制圆形 代码思路 代码实现 绘制三角形 代码思路 代码实现…

【回答问题】ChatGPT上线了!用给写出可执行的实体链接模型

如何实现一个实体链接模型/代码 在实现实体链接模型之前,您需要确定所要链接的实体类型(例如人名、地名、组织机构等)。然后,您需要准备一份包含大量实体及其相应识别码的实体百科数据集。接着,您可以使用深度学习模型…

乾元通多卡聚合通信系统在应急通信领域的解决方案

后疫情时代,日益增多的大型集会类事件给现有通信系统带来极大的压力。目前,我国已经认识到应急通信系统的重要性,因此我国各个部门已经配置了不少应急通信系统和设备,并且积累了相当的使用经验。 在不同情况下,对应急…

基础数据结构——数组

目录 一、前言 二、一维数组 1、定义和初始化 2、一维变长数组 3、一维正向遍历 4、一维反向遍历 5、一维数组区间操作、一维数组从 a[1] 开始,读入一维数组 6、一维数组例题1 7、一维数组例题2 三、二维数组 1、二维数组初始化 2、三维数组初始化 3…

HTTP_day02

掘金地址 结合 小林 coding 当键入网址后,到网页显示,其间发生了什么 DNS 服务器 专门保存了 Web 服务器域名与 IP 的对应关系 域名用“.”分隔成多个单词,级别从左到右逐级升高,最右边的被称为“顶级域名” DNS 服务器是一个分…

聊聊Spring中最常用的11个扩展点

前言 我们一说到spring,可能第一个想到的是 IOC(控制反转) 和 AOP(面向切面编程)。 没错,它们是spring的基石,得益于它们的优秀设计,使得spring能够从众多优秀框架中脱颖而出。 除…

第三十六讲:神州无线AP胖AP模式配置与管理

胖AP(Fat AP)配置一个开放式WLAN非常方便,需要完成的操作包括有线和无线两部分的配置。有线部分即ethernet接口的配置,保证AP能够接入Internet,无线部分的配置包括关联WLAN与VLAN,广播SSID,启用VAP,若无其他DHCP服务器的话&#x…

业务状态实时监控预警,「告警配置」来帮您

腾讯云数据连接器iPaaS团队服务了各行各业的数百家客户后,发现许多企业有大量的自建应用/SaaS应用,却缺乏一套可靠灵活的告警系统。当相关的IT系统/资源调配出现故障后,往往是影响到业务系统被用户投诉后,技术人员才发现故障并展开…

【超详细】LightGBM介绍与应用

目录 1. LightGBM简介 2. LightGBM详细介绍 2.1 单边梯度抽样算法 2.2 直方图算法 2.3 互斥特征捆绑算法 2.4 基于最大深度的 Leaf-wise 的垂直生长算法(带深度限制的 Leaf-wise 算法) 2.5 类别特征最优分割 (直接支持类别特征&#xf…

【自学Python】Windows安装Python

Windows安装Python Python下载 Python下载地址 https://www.python.org/Python下载 打开上面的链接,打开 Python 的下载页面,如下图所示: 我们把鼠标放到 Downloads 上,然后点击 Windows,此时界面如下图所示&#…

Docker简介

Docker官网链接: http://docker.p2hp.com/问题:我们开发的嵌入式项目基本是基于虚拟机下的ubuntu的,如果每一个项目要求的系统版本、库版本、交叉编译工具链等不一样,我们就需要为每一个项目安装一个对应的ubuntu,这既…

【Leetcode】111. 二叉树的最小深度

一、题目 1、题目描述 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明:叶子节点是指没有子节点的节点。 示例1: 输入:root [3,9,20,null,null,15,7] 输出:2…

4.0、Linux-文件属性查看和修改学习

4.0、Linux-文件属性查看和修改学习 基本属性 Linux 系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限;为了保护系统的安全性,Linux 系统对不同的用户访问同一文件(包括目录文件)的权限…

Linux0基础入门,教你如何在Shell中使用正则表达式

正则表达式 在 shell 脚本中成功运用 sed 编辑器和 gawk 程序的关键在于熟练使用正则表达式。这可不是件简单的事,从大量数据中过滤出特定数据可能会(而且经常会)很复杂。本章将介绍如何在 sed 编辑器和 gawk 程序中创建正则表达式来过滤出需…

聚观早报 | 元旦机票预订量增长145%;小米集团副总裁崔宝秋离职

今日要闻:元旦跨境机票预订量增长145%;小米集团副总裁崔宝秋离职;抖音推出桌面端聊天软件;《阿凡达2》全球票房破14亿美元;苹果 A17 芯片要用 3nm 工艺元旦跨境机票预订量增长145% 1 月 2 日,各旅游平台发布…

小工具集锦,5款好用的良心软件

今天来给大家推荐5款良心软件,每款都是经过时间检验的精品,用起来让你的工作效率提升飞快,各个都让你觉得相见恨晚! 1.高效截图——Snipaste 我曾经尝试过 FastStone Capture、ShareX 等多款截图软件,直到遇见 Snipaste 才画上句点。除了基…

“当不存在跨域问题,也解决了数据验证时,还出现:No ‘Access-Control-Allow-Origin‘,说存在跨域问题 ”的解决办法

不存在跨域问题,数据验证也弄好了,还出现下面的问题:Access to XMLHttpRequest at https://m.maizuo.com/gateway?cityId440100&pageNum1&pageSize10&type1&k7325551 from origin http://localhost:8080 has been blocked b…

OpenCv:直方图均衡化(HE),自适应直方图均衡化(AHE),限制对比度自适应直方图均衡化(CLAHE)

总结了使用Python OpenCv处理图像直方图均衡化(HE),自适应直方图均衡化(AHE),限制对比度自适应直方图均衡化(CLAHE)的方法。 目录直方图均衡化(HE)自适应直方图均衡化(AHE)限制对比度自适应直方图均衡化(CLAHE)代码测试结果场景1场景2直方图均衡化(HE) …

MySQL 体系结构

MySQL经典体系结构 MySQL连接: MySQL Protocol(MySQL协议) Socket (Unix Scoket)本地连接 比如:mysql -uroot -p123 -S /tmp/mysql.sock TCP/IP(远程连接) 比如:mysql -uroot -p123 -h 10.0.0.51 -P3306 API (应用程序、开发) Native API C、PHP、JDBC、ODBC、.NET、Pyth…