Qt加载qss样式表
一、使用静态方式加载样式表
1、建立文本文件,写入样式表内容,更改文件后缀名为qss;
2、在工程中新建资源文件*.qrc,将qss文件加入资源文件qrc中,此处注意前缀最好为"/",否则在调用qss文件时会找不到文件;
3、通过传入路径/文件名的方式创建一个QFile对象,以readonly的方式打开,然后readAll,最后qApp->setStyleSheet就可以使qss样式生效。
二、示例代码
//方式一:
#include "widget.h"
#include <QApplication>
#include <QTextCodec>
#include <QFile>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QFile file(":/qss/style.qss");
if(file.open(QFile::ReadOnly))
{
QString qss = QLatin1String(file.readAll());
qApp->setStyleSheet(qss);
file.close();
}
Widget w;
w.show();
return a.exec();
}
//方式二:
#include "widget.h"
#include <QApplication>
#include <QTextCodec>
#include <QFile>
class LoadQss
{
public:
static void setStyle(const QString &style) {
QFile file(style);
if(file.open(QFile::ReadOnly))
{
QString styleSheet;
styleSheet += QLatin1String(file.readAll());
qApp->setStyleSheet(styleSheet);
file.close();
}
}
};
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
LoadQss::setStyle(":/qss/style.qss");
Widget w;
w.show();
return a.exec();
}