QSS文件详解
Posted 看不见的R
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QSS文件详解相关的知识,希望对你有一定的参考价值。
QSS文件说明
qss语法是在css2.0的基础上开发的,所以基本支持css2.0的特性
QSS语法
-
选择器: #<控件名> 相当于css中的id选择器
.<类名> 类选择器 -
样式: css2.0语法
重点介绍下,伪类选择器。
QSS文件说明
qss语法是在css2.0的基础上开发的,所以基本支持css2.0的特性
QSS语法
-
选择器: #<控件名> 相当于css中的id选择器
.<类名> 类选择器 -
样式: css2.0语法
重点介绍下,伪类选择器。
伪选择器以冒号(:)表示,与css里的伪选择器相似,是基于控件的一些基本状态来限定程序的规则,如hover规则表示鼠标经过控件时的状态,而press表示按下按钮时的状态。如:
QPushButton:hover Background-color:red;
表示鼠标经过时
QPushButton
背景变红。Pseudo
还支持否定符号(!)
,如:
QRadioButton:!hover color: red
表示没有鼠标移上QRadioButton
时他显示的颜色是red。Pseudo
可以被串连在一起,比如:
QPushButton:hover:!pressed color: blue;
表示QPushButton
在鼠标移上却没有点击时显示blue字,但如果点击的时候就不会显示blue颜色了。同样可以和之前所讲的子控件选择器一起联合使用,如:
QSpinBox::down-button:hover image: url(btn-combobox-press.bmp)
与前面所讲的一样,伪选择器,子控件选择器等都是可以用逗号(,)分隔表示连续相同的设置的,如:
QPushButton:hover,QSpinBox::down-button, QCheckBox:checked color: white ;image: url(btn-combobox-press.bmp);
QSS使用
- 直接在源码中编写。
qApp->setStyleSheet("QPushButton#firstBtncolor:yellow;background-color:blueQssDemobackground-color:orange");
- 使用文件加载
QFile styfile("xxxx/xxx/style.qss");
styfile.open(QFile::ReadOnly);
QString sty = QString::fromlatin1(styfile.readAll());
styfile.close;
setStyleSheet(sty);
伪选择器以冒号(:)表示,与css里的伪选择器相似,是基于控件的一些基本状态来限定程序的规则,如hover规则表示鼠标经过控件时的状态,而press表示按下按钮时的状态。如:
```
QPushButton:hover
Background-color:red;
```
表示鼠标经过时`QPushButton`背景变红。
`Pseudo`还支持否定符号`(!)`,如:
`QRadioButton:!hover color: red `
表示没有鼠标移上`QRadioButton`时他显示的颜色是red。
`Pseudo`可以被串连在一起,比如:
`QPushButton:hover:!pressed color: blue; `
表示`QPushButton`在鼠标移上却没有点击时显示blue字,但如果点击的时候就不会显示blue颜色了。
同样可以和之前所讲的子控件选择器一起联合使用,如:
`QSpinBox::down-button:hover image: url(btn-combobox-press.bmp) `
与前面所讲的一样,伪选择器,子控件选择器等都是可以用逗号(,)分隔表示连续相同的设置的,如:
```
QPushButton:hover,QSpinBox::down-button, QCheckBox:checked
color: white ;image: url(btn-combobox-press.bmp);
```
![图 2](../images/c32bd82d5c6e90e7ef588b0ddfc0c92a619a439bbe66122b2b98da11db5b4019.png)
![图 3](../images/4548b218cc0ff32d7ce3a9fc025e55674927b46e02e3c5859522984ddfe6056f.png)
QSS使用
- 直接在源码中编写。
qApp->setStyleSheet("QPushButton#firstBtncolor:yellow;background-color:blueQssDemobackground-color:orange");
- 使用文件加载
QFile styfile("xxxx/xxx/style.qss");
styfile.open(QFile::ReadOnly);
QString sty = QString::fromlatin1(styfile.readAll());
styfile.close;
setStyleSheet(sty);
以上是关于QSS文件详解的主要内容,如果未能解决你的问题,请参考以下文章
Qt Creator中使用qss对界面美化没有作用(效果)的问题