qt 样式表 qss

2023/11/30 8:41:23

Qt样式表是一个可以自定义部件外观的十分强大的机制﹐除了那些能够通过子类化QStyle更改的外观,其余的都可以使用Qt样式表来美化。

实现办法:调用setStyleSheet 函数,其中styleSheet一般通过读取配置文件.qss实现。

  void setStyleSheet(const QString& styleSheet);

	QAboutDialog aboutdlg;

	QFile file("style.qss");
	file.open(QFile::ReadOnly);
	QString stylesheet = QString::fromLatin1(file.readAll());
	aboutdlg.setStyleSheet(stylesheet);

如style.qss文件如下 

QPushButton
{
border-radius:5px;
background:rgb(150, 190, 60);
color:red;
font-size:15px;
}

样式表

每个样式规则由选择器( selector)声明( decla-ration)组成。

选择器类型

在这里插入图片描述

子控件

对于一些复杂的部件修改样式,可能需要访问它们的子控件,比如 QComboBox的下拉按钮,还有QSpinBox的向上和向下箭头等。选择器可以包含子控件来对部件的.特定子控件应用规则

QComboxBox::drop-down{image:url(dropdown.png);}
QSpiBox::up-button{image:url(up.png);}
QSpiBox::down-button{image:url(down.png);}

 伪状态

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

QPushButton:hover
{
border-radius:5px;
background:rgb(150, 190, 60);
color:red;
font-size:15px;
}

可以对伪状态取反。在伪状态前面加上!

QLineEdit:!read-only
{
background:rgb(150, 190, 60);
}

可以串联使用,即逻辑与计算。

QCheckBox:hover:checked
{
    color:red;
}

可以并联使用,即逻辑或计算

QCheckBox:hover,QCheckBox:checked
{
    color:red;
}

伪状态也可以和子控件联合使用

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

状态    描述
:disabled    控件禁用
:enabled    控件启用
:focus    控件获取输入焦点
:hover    鼠标在空间上悬停
:pressed    鼠标按下
:checked    控件被选中
:unchecked    控件没有选中
:indeterminate    控件部分被选中
:open    控件
:closed    空间关闭
:on    控件可以切换,且处于on状态
:off    控件可以切换,且处于off状态
!    对以上状态的否定
 

冲突解决

1.特殊的选择器优先。因为QPushButton# okButton一般代表一个单一的对象,而不是一个类所有的实例,所以它比QPushButton更特殊,那么这时便会使用第一个规则,okButton的文本颜色为灰色。

 2.有伪状态比没有伪状态优先。如果两个选择符的特殊性相同,则后面出现的比前面的优先。Qt样式表使用CSS2规范来确定规则的特殊性。
 

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

属性

缺省情况下,margin、border、padding属性缺省为0.

  • Margin(外边距) - 清除边框外的区域,外边距是透明的。
  • Border(边框) - 围绕在内边距和内容外的边框。
  • Padding(内边距) - 清除内容周围的区域,内边距是透明的。
  • Content(内容) - 盒子的内容,显示文本和图像。

在这里插入图片描述

通用的样式属性、值

background-image:设置背景图片(根据图片大小)

border-image:设置背景图片(根据控件大小)

background-color:设置背景颜色

border-color:设置边框颜色

color:设置字体颜色

border:设置边框  例:border:1px solid red;

border-radius:设置边框圆角

font:设置字体

text-align: 设置字体水平对齐  left:靠左  center:居中  right:靠右

padding:设置内边框距离

margin:设置外边框距离


http://www.jnnr.cn/a/135350.html

相关文章

VLAN trunk扩展 GVRP

目录 一、GVRP产生背景 VTP协议 GARP GVRP 二、GVRP的实现和基本概念 GVRP的应用 GVRP的单向注册 GVRP单向注销 GVRP的注册模式 VTP和GVRP的使用风险 一、GVRP产生背景 VTP协议 如何解决园区网中大批量的VLAN的配置问题? 早期可以使用excel表格配置VL…

MySQL—Apache+PHP+MySQL实现网上社区

ApachePHPMySQL实现网上社区 所谓网上社区是指包括BBS/论坛、聊天室、博客等形式在内的网上交流空间,同一主题的网上社区集中了具有共同兴趣的访问者,由于有众多用户的参与,因此具备了交流的功能,成为一个营销场所。网上社区有各…

电商后台管理系统(基于SSM + Vue + Restful + jquery + axios)

1.项目架构 2.config配置 JdbcConfig public class JdbcConfig {Value("${jdbc.driver}")private String driver;Value("${jdbc.url}")private String url;Value("${jdbc.username}")private String username;Value("${jdbc.password}&qu…

nodejs+vue毕业生就业知道信息平台系统

大学毕业生招聘系统分三个身份登录,一个学生,一个管理员,一个是企业用户。学生可以注册登录管理自己的简历,应聘职位,企业用户可以发布招聘,收到应聘信息,查看学生简历,收藏学生简历,而管理员可以修改任何信息。 管理员模块有: 1.…

通用后台管理系统前端界面Ⅴ——axios使用与封装、配置路由和路由懒加载

axios使用与封装 1、下载axios npm i -S axios 2、在 main.js导入使用axios,因为是用的比较多,所以采用的是全局引入,挂载到原型的方式 import axios from axios Vue.prototype.axios axios // 挂载到原型,可在全局使用 配置路由 1、下载…

使用springboot每日推送早安问候语到用户微信【部署篇】

上一篇介绍文章 上一篇介绍文章 https://blog.csdn.net/weixin_45206218/article/details/127872136代码仓库 代码仓库 https://gitee.com/stevezhaozps/daily-weather前期准备 一台云服务器云服务器安装MySQL8.x云服务器安装jdk8 数据库初始化 由于本项目使用的是springd…

基于遗传算法的自主式水下潜器路径规划问题(Matlab代码实现)

🍒🍒🍒欢迎关注🌈🌈🌈 📝个人主页:我爱Matlab 👍点赞➕评论➕收藏 养成习惯(一键三连)🌻🌻🌻 🍌希…

Allegro模块镜像详细操作教程

Allegro模块镜像详细操作教程 Allegro支持模块镜像,以下面这个模块为例 Placement edit模式下,创建一个mdd文件 复用这个模块 复用后先别放下来,右击mirror 再放下来,模块内的孔,铜皮,线,器件都被镜像好了 This section is describe what the function allegro ha…

Linux|centos7下部署安装alertmanager并实现邮箱和微信告警

前言: 一个成熟的符合一般人预想的资源监控平台应该是能够多维度的展示各种各样的数据,比如,服务器的内存使用率,磁盘io状态,磁盘使用率,CPU的负载状态,某个服务的状态(比如&#x…

孩子好动爱疯跑就是感统失调吗?不一定!

孩子好动爱疯跑就是感统失调吗?不一定! 很多孩子身上都会有一个普遍存在的现象,那就是「好动爱疯跑」。尤其小年龄段的孩子,活泼好动是天性,到了两岁运动元年时,更是喜欢跑跑跳跳,一刻都待不住…

自动化测试如何区分用例集合及编写规范

目录 前言 业务量和复杂度增长现状是什么? 如何区分自动化测试的用例集合? 区分用例集合的过程要注意什么? 自动化测试用例选择 自动化测试用例编写 用例编写规范 结语 前言 前面的文章介绍过如何设计自动化测试case,有同…

神经网络初体验

文章目录前言相关概念BP神经网络具体过程正馈反向传播总结前言 本博客仅做学习笔记,如有侵权,联系后即刻更改 科普: 参考博客:《老饼讲解神经网络》 相关概念 神经网络 模仿人的神经网络构建出来的数学模型 是人工智能的一个主力算法 神经…

如何运营推特营销主账号

在推特上做产品推广,Twitter群(发)推王建议:一般需要两类账号。 主账号:也就是官方号,用来聚集粉丝,日常产品信息、新闻资讯发布的; 批量推广号:也叫小号或者广告号&am…

Python:突然发现好看壁纸的都在某度图片库了,这还爬什么壁纸网站?

用Python把最大的爬虫爬一遍前言开发环境 & 第三方模块代码展示效果展示最后前言 最近忙着又没更新,这不抽出时间了,赶紧来更新! 众所周知,某度本身就是最大的爬虫脚本,那么纯纯的去某个网站找壁纸,还…

飞瞳引擎™集装箱AI检测云服务,集装箱信息识别功能免费,全球顶尖AI高泛化性,正常集装箱识别率99.98%,全球2000企业用户

党的二十大报告指出,加快发展物联网,建设高效顺畅的流通体系,降低物流成本。空箱闸口智慧监管为青岛港提高集装箱运输物流效率提供了保障。飞瞳引擎™AI集装箱识别检测云服务,自动化识别检测集装箱信息大幅降低物流成本提升效率&a…

卷积神经网络基础

由于篇幅所限,本章将重点介绍计算机视觉的经典模型(卷积神经网络)和两个典型任务(图像分类和目标检测)。主要涵盖如下内容: 卷积神经网络:卷积神经网络(Convolutional Neural Netwo…

[数据结构] 图---图的邻接矩阵存储方式模拟实现,包括BFS广度优先遍历和DFS深度优先遍历(上)

图的邻接矩阵存储1)邻接矩阵表示法相关概念实现基础框架Graph_matrix构造函数实现基础操作获取某一顶点的下标添加边打印邻接矩阵2)BFS广度优先遍历3)DFS深度优先遍历4)最小生成树之克鲁斯卡尔算法5)最小生成树之普里姆…

spring框架源码十六、BeanDefinition加载注册子流程

BeanDefinition加载注册子流程时序图时序图1step0、new ClassPathXmlApplicationContextstep1、ClassPathXmlApplicationContext#ClassPathXmlApplicationContext(java.lang.String)step2、ClassPathXmlApplicationContext#ClassPathXmlApplicationContext(java.lang.String[],…

计算机毕业设计springboot+vue+elementUI在线漫画周边销售购物交流系统

项目介绍 任何系统都要遵循系统设计的基本流程,本系统也不例外,同样需要经过市场进行调研,漫画需求进行分析,概要设计,系统详细设计,测试和编码等步骤,设计并实现了“漫画之家”系统 。系统选用…

Python学习----Demo(pyecharts)

PyEcharts 就是百度的Echarts,针对Python有一款专门的,所以就叫PyEcharts 官方网站: 文档: https://pyecharts.org/#/zh-cn/ 示例: https://gallery.pyecharts.org/#/README 通过pip安装 pip install pyecharts 或者…
最新文章