QFile::Text); ...
QFile file(":/dark.qss");
file.open(QFile::ReadOnly | QFile::Text);
QTextStream stream(&file);
qApp->setStyleSheet(stream.readAll()); '''
The issue has nothing to do with msys. The most obvious reason is an incorrect project setup. Please make sure dark.qss is added into the resource (qrc) file under " 这是我一直在尝试的代码。
QFile f(":/dark.qss");
if (!f.exists()) {
printf("Unable to set stylesheet, file not found\n");
}
else {
f.open(QFile::ReadOnly | QFile::Text);
QTextStream ts(&f);
qApp->setStyleSheet(ts.readAll());
}
和 对于第一个,我得到的是:
QIODevice::read \dark.qss 设备未打开而第二种情况
无法设置样式表,找不到文件。
第二种在两周前还能正常工作(用msys2,mingw64,qt5.14.1.3构建),不幸的是,我不得不重新安装mys2,从那以后就不能工作了。
我试着用msys2和2周前用过的所有软件包(不得不手动降级了大约80个软件包)直接从qt creator进行编译,但没有成功。
有什么问题吗?我目前正在做一个应用程序,但我无法设置全局样式表。下面是我一直在尝试的代码。QFile file(":dark.qss"); file.open(QFile::ReadOnly "前缀,然后qrc文件被添加到pro文件的RESOURCES中。
另外,qmake有一个bug,有时候没有把新添加的资源添加到应用中。在这种情况下,完全重建可能会有帮助。
如果你能把qrc和pro文件都贴在这里就更好了。一个完整的构建日志也会很有帮助。
也许你的.pro文件缺少了带有.qrc文件名的RESOURCES变量。
你也可以尝试执行 清洁 和 运行qmake 在建设之前,对您的项目。