//加载指定文件夹下的所有css文件
void StyleMgr::SetStyle(const QString& qssfolder)
{
QString all_style;
QDir dir(qssfolder);
QFileInfoList file_list = dir.entryInfoList(QDir::Files);
for (auto fileinfo : file_list)
{
if (fileinfo.suffix() != "qss") continue;
QString path = QString("%1/%2").arg(qssfolder).arg(fileinfo.fileName());
QFile file(path);
file.open(QIODevice::ReadOnly);
QString style = file.readAll();
if (!style.isEmpty()) {
all_style += style;
}
file.close();
}
qApp->setStyleSheet(all_style);
}
//加载样式
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
StyleMgr::SetStyle(":/helloqt/resources/qss");
将样式文件添加到项目资源文件中,则不需要手动添加文件到打包目录下,加载路径使用:/前缀/xxx指定即可。如果不使用资源文件可拷贝文件到程序运行目录下,加载路径使用./xxx/xxx指定。