4

WindowsでQMLデスクトップアプリケーション(QtCreatorとc ++を使用)を書き終えました。

これらの指示に従って、MinGw コンパイラを使用して、C:\QtSDK\Desktop\Qt\4.7.4\mingw\imports\Qt\labs\components フォルダーに QT Quick Desktop Components をインストールしました。

デバッグ用に 1 回、コマンド qmake && jom debug && jom install を使用して 2 回インストールし、リリース用に qmake && jom release && jom install コマンドを使用して 2 回インストールしたため、2 つの dll ファイルが作成されました: 1.styleplugin. dll、2.styleplugind.dll。必要なときにそれぞれを使用しています。私はそれを私のアプリケーションにインポートしました:

Qt.labs.components 0.1 をインポートします。

ここで、アプリケーションをデプロイし、すべてのマシンで動作するようにする必要があります: Qt がインストールされているか、インストールされていないか。次の手順で実行しようとしました。

次のファイルをコピーしました: application.exe、QtCore4.dll、QtGui4.dll、QtNetwork4.dll、styleplugin.dll、styleplugind.dll。

しかし、.exe ファイルを実行すると、白い空の画面が表示されます。

(ところで、リリース フォルダーから .exe ファイルを実行すると、再び白いウィンドウしか表示されず、単純なウィジェット GUI アプリケーションに対して同じことを実行すると、そこからうまく実行されます)。

この状況の理由について何か知っていますか?

どんな答えでも大歓迎です!

4

2 に答える 2

2

QMLファイルをexeファイルにデプロイするのを忘れた可能性がありますか?(qrc)それをテストする簡単な方法は、qmlファイルを含むfoldeをexeファイルの近くの宛先にコピーすることです

UPD:Qtリソースシステムの記事を読んでください

すなわち:

  1. まず、プロジェクトメニューに新しい「リソースファイル」を追加する必要があります。
  2. 次に、すべてのqmlファイルをこのリソースファイルに配置します
  3. QDeclarativeViewの「ソース」を次のように変更します。

    viewer->setSource(QUrl("qrc:/main.qml"));
    
于 2012-11-25T19:59:23.803 に答える
0

考えられる解決策の 1 つは、次のコマンドを実行して警告を有効にすることです。

qmlviewer.exe -warnings show qmlfilename.qml

qmlviewer が依存するインポート ライブラリを見つけられない場合、ここに表示されます。

qmlviewer がインポート ライブラリにアクセスできるようにするには、コマンド ラインで -I <directory> を使用するか、QML_IMPORT_PATH 環境変数をインポート ライブラリを含むフォルダに設定します。

例えば:

qmlviewer.exe -warnings show -I <directory> qmlfilename.qml

また

set QML_IMPORT_PATH=<directory>

ここで、<directory> はモジュール インポートの検索パスです (<> なし)。

于 2012-11-26T20:52:42.583 に答える