QT5:无法使用qss文件设置样式表属性



我目前正在开发一个应用程序,无法设置全局样式表。这是我一直在尝试的代码:

QFile file(":/dark.qss");
file.open(QFile::ReadOnly | QFile::Text);
QTextStream stream(&file);
qApp->setStyleSheet(stream.readAll()); '''

QFile f(":/dark.qss");
if (!f.exists())   {
printf("Unable to set stylesheet, file not foundn");
}
else   {
f.open(QFile::ReadOnly | QFile::Text);
QTextStream ts(&f);
qApp->setStyleSheet(ts.readAll());
}

对于我得到的第一个:QIODevice::read\ddark.qss设备未打开

第二个无法设置样式表,找不到文件

第二个在两周前工作得很好(使用msys2、mingw64、qt5.14.1.3构建(,不幸的是,我不得不重新安装myys2,从那以后就不工作了。

我尝试使用msys2构建我两周前使用的所有软件包(不得不手动降级大约80个软件包(,也直接从qt创建者那里构建,但运气不佳。

知道可能是什么问题吗?

该问题与msys无关。最明显的原因是项目设置不正确。请确保将dark.qss添加到前缀为"/"的资源(qrc(文件中,并将qrc文件添加到pro文件中的RESOURCES中。

此外,qmake中存在一个错误,有时没有将新添加的资源添加到应用程序中。在这种情况下,全面重建可能会有所帮助。

如果你把qrc和pro文件都粘贴在这里,那就太好了。完整的构建日志也可能非常有用。

也许.pro文件缺少文件名为.qrc的RESOURCES变量。

您还可以尝试在构建之前对项目执行CleanRun qmake

最新更新