一篇文章 学会Qt 样式表(qss)

QML 中风格和主题的设计可以通过配置文件选择现有几种中的一种,或者直接在控件定义时,指定其属性,如背景颜色或者字体大小。在QWidget框架中,则通过了一种叫做qss样式表的东西来进行描述,跟CSS逻辑上类似。

这个qss抽象出来就两个元素,一个叫做选择器 ,一个叫做属性。简单的说就是谁长什么样子。那这个谁,有好多种写法,比如所有按钮,某个按钮,按下的按钮。而这个样子又有好多,比如背景色,边框,圆角等。

一,实现

1,新建一个qss文件,并添加到资源里。然后在main函数中,进行全局的设置。

2,字体 一般是一个全局的设置,所以可以在此处设置全局字体。微软雅黑 是一个常用的字体

3,我们以如下的窗口来举例说明。

原始窗口如下:

qss 如下:

复制代码
//所有QPushButton 背景色为蓝色,宽高为 180 80
QPushButton{
    background-color: rgb(0, 0, 255);
    width:180px;
    height:80px;
}

//所有QPushButton 鼠标hover时 背景为黄色
QPushButton:hover {
    background-color: rgb(255, 255, 0);
}

//所有QPushButton  flat属性为true 时 背景为绿色
QPushButton[flat="true"] {
    background-color: rgb(0, 255, 0);
}

//指定这两个按钮 背景为红色
#pushButton_5,#pushButton_6{
    background-color: rgb(255, 0, 0);
}

效果如下:

QWidget qss -- Qt hello

4,还可以用自己的图片 替换子控件。

复制代码
/*combobox 的下拉箭头*/
QComboBox::down-arrow {
    image: url(:/img/axis_return.png);
}

二,常用属性

三,QSS支持的类型、属性、伪状态、子控件

Qt Style Sheets Reference | Qt Widgets 5.15.16

四,总结

QWidget qss -- Qt hello

五,qt帮助查询

1、"Qt Style Sheets Reference" Qt样式表的用法。

2、"Qt Style Sheets Examples" Qt样式表的实例

3、"The Style Sheet Syntax" Qt样式表语法

相关推荐
来让爷抱一个11 小时前
Python 异步里混用同步库,事件循环被卡住的全过程
开发语言·python
心祭丫丫13 小时前
【每天一个 Python 小案例17】Python 实现通讯录
开发语言·人工智能·笔记·python·学习
露天赏雪14 小时前
第3篇:Sentinel熔断降级实战:大模型接口抖动时的服务兜底方案
java·开发语言·人工智能·spring boot·spring·servlet·sentinel
yeccheng16 小时前
MySQL 索引超详解:从底层 B+ 树到面试高频考点
java·开发语言·jvm·mysql·面试
联犀16 小时前
纯 Go 的 CAD 开源库 go-cad:直接解析 DWG/DXF,现在也能导出 PDF
开发语言·golang·pdf
zjxtxdy17 小时前
C++面向对象程序开发-类与对象
开发语言·c++
qq_4069810319 小时前
c++拷贝构造函数
开发语言·c++
爱喝雪碧的可乐19 小时前
MATLAB
开发语言·算法·matlab
H.莓飛21 小时前
【C++】【STL】vector_OJ题
linux·服务器·开发语言·数据结构·c++·visual studio
j7~1 天前
【C++ 八股文】(篇四)C++11 新特性
开发语言·c++·面试·c++11·八股文