我想要做什么,我需要将大样式文件拆分为小样式文件 因为现在很难读取样式文件(qss 文件)并向其添加新样式。 之后我需要加载那些小的 qss 文件来应用它们
我正在通过调用我创建的主函数来加载我的大文件
void Utilities::loadEnglishStyle()
{
QFile file(":/EnglishClasses.qss");
file.open(QFile::ReadOnly);
QString StyleSheet = QLatin1String(file.readAll());
qApp->setStyleSheet(StyleSheet);
file.close();
}
我考虑过拆分大文件,将小文件添加到资源中,通过QFile
打开所有文件,然后将它们全部连接在一个字符串中
但每次添加新的 qss 文件时我仍然需要再次执行相同的过程
有什么有效的方法可以做到这一点吗?!!
最佳答案
你的方法听起来是正确的。这个过程并不像听起来那么复杂。您唯一需要的就是在资源中添加“较小的”qss 文件,在特定的前缀(例如 stylesheets
)下,然后自动加载并连接所有这些文件。示例代码如下:
QDir stylesheetsDir(":/stylesheets");
QFileInfoList entries = stylesheetsDir.entryInfoList();
QString completeStylesheet = "";
foreach (QFileInfo fileInfo, entries)
{
QFile file(":/stylesheets/" + fileInfo.fileName(););
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
continue;
QTextStream in(&file);
completeStylesheet += in.readAll()
}
关于qt - 如何将QT中的大样式文件(qss文件)拆分为小文件并全部加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14231596/