C++ 从qrc文件加载.qss主题

C++ 从qrc文件加载.qss主题,c++,qt,qt5,C++,Qt,Qt5,我想用这个主题。 我遵循了代码,但似乎无法加载样式表。下面是我在main.cpp中加载代码的方式: QFile f(":qdarkstyle/style.qss"); if (!f.exists()) { printf("Unable to set stylesheet, file not found\n"); } else { f.open(QFile::ReadOnly | QFile::Text); QTextStream ts(&f); qApp-

我想用这个主题。 我遵循了代码,但似乎无法加载样式表。下面是我在main.cpp中加载代码的方式:

QFile f(":qdarkstyle/style.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());
}
但是exists()总是错误的。文件夹qdarkstyle位于我的主要源代码的子目录中

我的项目资源如下所示:

我打了以下电话:

QFile f(":qdarkstyle/style.qss");
QFile f("://qdarkstyle/style.qss");
QFile f(":/qdarkstyle/style/qdarkstyle/style.qss");
但我的存在总是错误的。你知道我做错了什么吗

添加My.pro文件

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = MediaManagerV2
TEMPLATE = app

DEFINES += QT_DEPRECATED_WARNINGS


SOURCES += main.cpp\
        mainwindow.cpp

HEADERS  += mainwindow.h

FORMS    += mainwindow.ui

RESOURCES += \
    resources.qrc \
    qdarkstyle/style.qrc
链接到来源

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = MediaManagerV2
TEMPLATE = app

DEFINES += QT_DEPRECATED_WARNINGS


SOURCES += main.cpp\
        mainwindow.cpp

HEADERS  += mainwindow.h

FORMS    += mainwindow.ui

RESOURCES += \
    resources.qrc \
    qdarkstyle/style.qrc

修复

修改代码

QApplication a(argc, argv);
MainWindow w;
w.show();

QFile f(":/qdarkstyle/style.qss");
if (!f.exists())
{
    printf("Unable to set stylesheet, file not found\n");
}
else
{
    f.open(QFile::ReadOnly | QFile::Text);
    QTextStream ts(&f);
    a.setStyleSheet(ts.readAll());
}

基本上已将show()移到上面

您已将
.qrc
文件添加到.pro中:

RESOURCES += qdarkstyle/style.qrc

并在调用样式表之前移动
show()

您可以显示您的.pro文件。您已将.qrc文件添加到.pro:
RESOURCES+=qdarkstyle/style.qrc
我已在上面更新并添加了我的.pro文件。我已经尝试过,并且没有遇到问题,如果您通过github共享您的项目,我可以提供帮助,dropbox或类似的,我真的是这么做的。这只是一个新项目,所以规模很小。谢谢