简介
设计Qt程序UI界面的时候,可以像Web使用CSS一样,使用QSS,使界面美化跟代码层分开,降低了耦合性,便于维护。
新建QSS
新建文本文件,写入样式表内容,更改文件后缀名为qss;这边名称为style.qss。
例如:(style.qss)
QPushButton{
color:white;
border-radius:3px;
background-color: black;
}
QLabel{
color:blue;
}
QLineEdit{
text-align: center;
color:red;
background-color: transparent;
border: 1px solid white;
selection-color:yellow;
selection-background-color:green;
}
QRadioButton{
color: slateblue;
}
QRadioButton::indicator:on{
background-image: url("1.gif");
}
QComboBox{
min-width: 4em;
background-color: transparent;
}
加载QSS
(1)使用资源文件加载
在工程中新建资源文件*.qrc,将qss文件加入资源文件qrc中,此处注意prefix最好为”/”,否则在调用qss文件时会找不到文件;
通过传入路径\文件名的方式创建一个QFile对象,以readonly的方式打开,然后readAll,最后qApp->setStyleSheet就可以使qss生效。
QString qss;
QFile qssFile(":/qss/style.qss");
qssFile.open(QFile::ReadOnly);
if(qssFile.isOpen())
{
qss = QLatin1String(qssFile.readAll());
qApp->setStyleSheet(qss);
qssFile.close();
}
(2)写一个静态加载样式的函数
#include <QFile>
#include <QApplication>
class CommonHelper
{
public:
static void setStyle(const QString &style) {
QFile qss(style);
qss.open(QFile::ReadOnly);
qApp->setStyleSheet(qss.readAll());
qss.close();
}
};
//使用方法
// 加载QSS样式
CommonHelper::setStyle("style.qss")