我遇到了一个奇怪的问题,QFile.open
无法打开添加到qrc资源文件中的文件。我的qrc文件如下所示
我使用以下代码读取文件theme_normal.qss
QFile file(":/styles/theme_normal.qss");
if (file.open(QIODevice::ReadOnly | QIODevice::Text))
{
QString style(file.readAll());
file.close();
}
else
{
QMessageBox::critical(nullptr, "Error", "Error loading style file: " + file.errorString());
}
我收到以下错误:没有这样的文件或目录
在Qt 5.7.0中,相同的代码(原样)也能正常工作。我正面临着Qt 5.9.2的上述问题。可能的原因是什么?
发布于 2017-11-03 22:32:06
在我类似的情况下,在从应用程序目录(系统:Windows10)中删除所有Qt DLL文件并复制新的DLL文件后,问题就解决了。
例如,我发现在5.9中不再有Qt5CLucened.dll。可能的问题在过时的Qt5CLucened.dll文件中
发布于 2019-03-29 17:02:33
以防任何人有类似的情况。
我的环境: ubuntu 16.04 LTS,Qt 5.9.4。
我试过了:
重新启动system.
没有任何帮助。
最后,我删除了qrc,并添加了一个新的qrc与相同的名称和相同的文件,并删除旧的qrc_xxx.cpp和qrc_xxx.o的构建文件夹,它也没有帮助。
但是,我删除了qrc并添加了一个不同名称的qrc,这样,旧的qrc命名为res.qrc,新的qrc命名为res1.qrc,然后构建qmake并构建项目,它工作得很好!
我不知道为什么,也许是一些旧的储藏室?这花了我很长时间..):
编辑:我发现原因是,如果你在.pro中使用SUBDIRS
,并且有两个项目具有相同的名称qrc,你会遇到这个问题。
https://stackoverflow.com/questions/47017672
复制相似问题