私は、Windows7上のC++ qnd Qt Creator(QML)でQtクイックデスクトップアプリケーションを作成しました。今すぐ 私はそれを展開しなければなりません、qmlファイルと画像を隠す必要があります(手段:リソースなどに入れてください)C++とQMLアプリケーションでqrcを使用するには?
私はこれを行うには良い方法があると読んだことがあります。 qrcファイル。私はそれらのファイルについてのドキュメントを読み、次のようになります私のアプリケーションのための1を作成しました:
:main.cppには<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.qmlファイルをロードしています
view.setSource(QUrl(":/qml/GenericHostApplicationQML/myMain.qml"));//I added the ":/"
が、私はしました:
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ファイルを読み込もうとしましたこのエラーました:
file:///qml/GenericHostApplicationQML/myMain.qml: File not found
を、私はこの試みたとき:
を、私はこれを取得しています:
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は私のQMLファイル 内の画像を使用してmyMain.qml
-
私に何が間違っているのか説明できますか? と、C++とqmlの両方で.qrcを使用するために必要なことは?
どうもありがとう:)
QMLコードを実際に隠す方法がないことは確かです。リソースファイルを使用していても、そのコードはまだ誰にでも見えますつまり、コンパイルされていないか、暗号化されていないか、バイナリコードに変換されていません。 – johnbakers