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

问题描述 投票:0回答:1

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进行编译,但没有成功。

有什么问题吗?
c++ qt qt5 qtstylesheets
1个回答
0
投票

我目前正在做一个应用程序,但我无法设置全局样式表。下面是我一直在尝试的代码。QFile file(":dark.qss"); file.open(QFile::ReadOnly "前缀,然后qrc文件被添加到pro文件的RESOURCES中。

另外,qmake有一个bug,有时候没有把新添加的资源添加到应用中。在这种情况下,完全重建可能会有帮助。

如果你能把qrc和pro文件都贴在这里就更好了。一个完整的构建日志也会很有帮助。


0
投票

也许你的.pro文件缺少了带有.qrc文件名的RESOURCES变量。

你也可以尝试执行 清洁运行qmake 在建设之前,对您的项目。

© www.soinside.com 2019 - 2024. All rights reserved.