我在使用所有MVSC2013 32位,MinGW 4.8.2 32位编译器和GCC 4.9 for Android
在Windows上的Qt 5.3.2中从资源加载二进制文件时遇到了麻烦我有两个资源文件。它们都位于项目的根目录以及所有资源中。第一个是qml.qrc,它是:
<RCC>
<qresource prefix="/">
<file>main.qml</file>
<file>ScoreText.qml</file>
<file>ControlButton.qml</file>
</qresource>
</RCC>
和resource.qrc:
<RCC>
<qresource prefix="/">
<file>sound.wav</file>
</qresource>
</RCC>
我的项目文件中有:
QT += qml quick widgets multimedia
RESOURCES += qml.qrc resource.qrc
我可以阅读QML没问题,但“声音”文件行为不端。
...
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
Q_INIT_RESOURCE(resource);
QFile q_file;
q_file.setFileName(":/sound.wav"); // works
// q_file.setFileName("qrc:/sound.wav"); does not work
// q_file.setFileName("qrc:///sound.wav"); does not work
q_file.open(QIODevice::ReadOnly);
if (!q_file.exists())
qCritical() << "File does not exist.";
return app.exec();
}
我按照此处的建议初始化资源:http://qt-project.org/doc/qt-5/resources.html#using-resources-in-a-library我尝试按照此处建议的样式“qrc:///”加载它们:http://qt-project.org/doc/qt-4.8/resources.html和样式“qrc:/”这里:http://qt-project.org/doc/qt-5/resources.html,但只有非URL方式(“:/”)有效。但是“main.qml”没问题,只有波形文件...
有什么建议吗?