C++ 从qrc文件加载.qss主题
我想用这个主题。 我遵循了代码,但似乎无法加载样式表。下面是我在main.cpp中加载代码的方式: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-
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或类似的,我真的是这么做的。这只是一个新项目,所以规模很小。谢谢