基本语法
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();
}
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();
}