Qt 换皮肤方法总结
一 封装一个加载QSS文件的函数
class LoadQss
{
public:
static void loadQss(const QString &path)
{
QFile qss(path);
qss.open(QFile::ReadOnly);
qApp->setStyleSheet(qss.readAll());
qss.close();
}
};
二 程序初始化的时候加载一个默认的QSS文件
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
LoadQss::loadQss(“:/qss/red.qss”);
MainWidget w;
w.show();
return a.exec();
三 根据自己换肤的槽位置,动态加载qss就行 。
void customSkinDialog::on_buttonBox_accepted()
{
if(ui->BlackRadioButton->isChecked())
LoadQss::loadQss(":/qss/black.qss");
else if(ui->redRadioButton->isChecked())
LoadQss::loadQss(":/qss/red.qss");
}