Qt/Qss样式表基础

来源:互联网 发布:淘宝上卖真蜂蜜的店铺 编辑:程序博客网 时间:2024/05/22 07:55
基本语法
1.  样式表单由一系列样式规则组成。
每条规则可以分成两部分:选择器(selector)和声明(declaration)
选择器:表示规则作用到哪些控件上
声明则:详细说明了是什么规则

2. Qt的样式表语法不区分大小写,所以color,Color,coLor,coloR都表示同样的颜色属性。
但是指代类的类名的时候,是区分大小写的。


3. 多个选择器可以并列使用,它们之间用逗号隔开,
例如:
         QPushButton,QLineEdit, QComboBox{ color: red }
         设置三个控件的字体颜色为红色


4. 声明部分也可以有多个并列,之间用分号隔开。
当我们要设置的选择器有多个属性的时候,就需要并列多个声明,
例如:
         QPushButton{ color: red; background-color: white }
        这条样式规则让按钮的字体变成红色,同时背景色变成白色。






使用方法:
1. 建立qss样式表,更改文件后缀名为qss,内容如下
  QPushButton 
  {
background-color: qlineargradient(spread:pad, x1:0.522124, y1:0, x2:0.506, y2:1,
stop:0 rgba(85, 170, 127, 255),
stop:1 rgba(255, 255, 255, 255));
    }
QComboBox 
{
  background: green;
    }


2. 在工程中新建资源文件*.qrc,将qss文件加入资源文件qrc中,此处注意prefix最好为"/",否则在调用qss文件时会找不到文件;


3. 增加相应头文件 #include <QFile>
通过传入路径/文件名的方式创建一个QFile对象,
以readonly的方式打开,然后readAll,
最后qApp->setStyleSheet就可以使qss生效。


4. 在相关的项目中的main()函数中,增加如下内容(加粗斜体部分):
int main(int  argc,char  *argv[])
{
    QApplication  a(argc,argv);
    MainWidget   w;
    QFile  qss(":/new/prefix1/style.qss");  //引号内为资源文件的路径,根据需要更改
    qss.open(QFile::ReadOnly);
    a.setStyleSheet(qss.readAll());
   qss.close();
   w.show();
    returna.exec();
    }
0 1
原创粉丝点击