QSS文件详解

QSS文件说明

qss语法是在css2.0的基础上开发的,所以基本支持css2.0的特性

QSS语法

  1. 选择器: #<控件名> 相当于css中的id选择器
    .<类名> 类选择器

  2. 样式: css2.0语法

    重点介绍下,伪类选择器。

QSS文件说明

qss语法是在css2.0的基础上开发的,所以基本支持css2.0的特性

QSS语法

  1. 选择器: #<控件名> 相当于css中的id选择器
    .<类名> 类选择器

  2. 样式: css2.0语法

    重点介绍下,伪类选择器。

    image

    伪选择器以冒号(:)表示,与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);}
    

    image

    image

QSS使用

  1. 直接在源码中编写。
qApp->setStyleSheet("QPushButton#firstBtn{color:yellow;background-color:blue}QssDemo{background-color:orange}");
  1. 使用文件加载
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

图 3

QSS使用

  1. 直接在源码中编写。
qApp->setStyleSheet("QPushButton#firstBtn{color:yellow;background-color:blue}QssDemo{background-color:orange}");
  1. 使用文件加载
QFile styfile("xxxx/xxx/style.qss");
styfile.open(QFile::ReadOnly);
QString sty = QString::fromlatin1(styfile.readAll());
styfile.close;

setStyleSheet(sty);
posted @ 2022-02-20 09:37  看不见的R  阅读(2357)  评论(0)    收藏  举报