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

QT5: Unable to set stylesheet properties using qss file

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

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 found\n");
}
else   {
    f.open(QFile::ReadOnly | QFile::Text);
    QTextStream ts(&f);
    qApp->setStyleSheet(ts.readAll());
}

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

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

第二个在 2 周前工作正常(使用 msys2、mingw64、qt5.14.1.3 构建),不幸的是,我不得不重新安装 mysys2,从那以后它就不再工作了。

我尝试使用 msys2 和我 2 周前使用的所有软件包进行构建(不得不手动降级大约 80 个软件包),也直接来自 qt creator,但没有运气。

知道可能是什么问题吗?

可能您的 .pro 文件缺少带有 .qrc 文件名的 RESOURCES 变量。

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

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

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

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