Windows7의 Q ++ Qnd Creator (QML)에 Qt Quick Desktop 응용 프로그램을 작성했습니다. 지금 배포해야하며 qml 파일과 이미지를 숨길 필요가 있습니다. (의미 : 리소스 등에 넣는 것을 의미합니다)C++ 및 QML 응용 프로그램에서 qrc를 사용하는 방법은 무엇입니까?
나는 그것을 할 수있는 좋은 방법이 있음을 읽었습니다. qrc 파일. 나는 그 파일에 대한 설명서를 읽고, 다음과 같습니다 내 응용 프로그램, 하나를 만들어 :
다음 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 파일을 사용해야합니다 :
- 내 QML 파일에 이미지를 사용 myMain.qml에
- 을 파일을 QML 가져 오기를 사용하여 myMain.qml 파일
- 로드
나에게 무슨 문제가 있다고 설명해 주시겠습니까 ?? 그리고 .crc와 qml 모두에서 .qrc를 사용하려면 어떻게해야합니까?
고마워요 :)
QML 코드를 실제로 숨길 방법이 없다는 것을 확신합니다. 리소스 파일을 사용하더라도 코드가 여전히 anyo에 표시됩니다. 당신의 실행 파일을 검사하는 사람, 즉 어떤 방법 으로든 컴파일되거나, 암호화되거나, 바이너리 코드로 변환되지는 않습니다. – johnbakers