1.不同的皮膚配置寫在不同的.qss文件。
2.在main加載默認的皮膚文件
#include "mainwindow.h" #include <QApplication> #include <QFile> int main(int argc, char *argv[]) { QApplication a(argc, argv); QFile qss_file(":/default.qss"); if(!qss_file.open(QFile::ReadOnly)) { //qDebug()<<"qss file open error"; } qApp->setStyleSheet(qss_file.readAll()); qss_file.close(); MainWindow w; w.show(); return a.exec(); }
3.更換皮膚,重新加載指定的皮膚文件qss。
void MainWindow::updateTheme() { QFile qss_file(":/blue.qss"); if(!qss_file.open(QFile::ReadOnly)) { //qDebug()<<"qss file open error"; } qApp->setStyleSheet(qss_file.readAll()); qss_file.close(); }