Windows7のc++qnd Qt Creator(QML)でQtQuickDesktopアプリケーションを作成しました。今、私はそれをデプロイする必要があり、qmlファイルと画像を非表示にする必要があります(つまり、リソースなどにそれらを配置する)
.qrcファイルでそれを行うための素晴らしい方法があることを読みました。これらのファイルに関するドキュメントを読み、アプリケーション用に次のようなファイルを作成しました。
<RCC>
<qresource prefix="/">
<file>qml/GenericHostApplicationQML/myMain.qml</file>
<file>qml/GenericHostApplicationQML/content/PressAndHoldButton.qml</file>
<file>qml/GenericHostApplicationQML/content/TextButton.qml</file>
<file>qml/GenericHostApplicationQML/content/pics/advancedsettings.png</file>
<file>qml/GenericHostApplicationQML/content/pics/cnruninstall.png</file>
<file>qml/GenericHostApplicationQML/content/pics/dialog_cancel.png</file>
<file>qml/GenericHostApplicationQML/content/pics/folder_explore.png</file>
<file>qml/GenericHostApplicationQML/content/pics/gnome_session_switch.png</file>
<file>qml/GenericHostApplicationQML/content/pics/mail2_send.png</file>
<file>qml/GenericHostApplicationQML/content/pics/Picture1.png</file>
<file>qml/GenericHostApplicationQML/content/pics/Picture2.png</file>
</qresource>
main.cppで、次のようにMain.qmlファイルを読み込んでいます。
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QDeclarativeView view;
view.setSource(QUrl::fromLocalFile("qml/GenericHostApplicationQML/myMain.qml"));
view.show();
return app.exec();
}
Resources.qrcからmyMain.qmlファイルを次のように読み取ろうとしました。
view.setSource(QUrl(":/qml/GenericHostApplicationQML/myMain.qml"));//I added the ":/"
しかし、私はこのエラーがあります:
file:///qml/GenericHostApplicationQML/myMain.qml: File not found
そして私がこれを試したとき:
view.setSource(QUrl::fromLocalFile(":/qml/GenericHostApplicationQML/myMain.qml"));
私はこれを取得しています:
file:///C:/Users/ayalafre/Desktop/ghaQML/GenericHostApplicationQML-build-desktop-Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK__Release/:/qml/GenericHostApplicationQML/myMain.qml: File not found
私のQtはどうしたらいいのかわからないようです: ":/"。
次の場所で.qrcファイルを使用する必要があります。
- myMain.qmlファイルを読み込んでいます
- myMain.qmlのqmlファイルへのインポートを使用する
- qmlファイルで画像を使用する
何が悪いのか説明してもらえますか?そして、c ++とqmlの両方で.qrcを使用するために私がしなければならないことは何ですか?
どうもありがとう:)