2013年12月11日水曜日

Qt Quick 2.0: how to use the original QML2 plugin on a .qml / qmlscene

stackoverflowに今年の1月7日に質問をポストした事がありました。
stackoverflowは英語コミュニケーションの場なので英語で質問してるけど、日本語にすると、
『どうしたら Qt Quick 2 拡張プラグインを .qml と qmlscene(またはqmlviewer5)で使えますか?』
という質問 。

内容としては、qtcreatorで新規作成した Libraries -> Qt Quick 2 Extension Plugin を生成されたデフォルトのファイル状態のままでビルドして作った libuntitled.so (com.mycompany.qmlcomponents)と qmldir ファイルを、実際に扱った .qml をqmlsceneで動作させる方法を訪ねています。

当時、夢が広がる思いだったのだけど、どうしてもこの方法がわからなくて、それから諸事情もありQt5を使う事も無くなってしまい、この質問への回答もまったく寄せられる気配が無い事からしばらく、すっかり忘れていました。

質問から半年以上経った7月2日、どこかの誰かが答えをポストしてくれていた事に気付いたのはつい最近、もう質問から11ヶ月ほどが経った最近の事でした。

答えの要点は2点。

  1. QML2_IMPORT_PATH 環境変数に import のパスを定義する事
  2. QML2の共有ライブラリーファイルとqmldirファイルはコンポーネントのURIに従って、 imports/com/mycompany/qmlcomponents/といったディレクトリー構造に収める事
この2点を満たしたところ、自分で作成したオリジナルの共有ライブラリーをQML2拡張プラグインとして用いて、任意の.qmlで使用出来ました(*´ω`*)

なお、 QML2_IMPORT_PATH=imports qmlscene hoge.qml で imports にQML2拡張プラグインを探しに行ってくれたので、 .zshrc あたりに書いておくなり、QML配布物の起動スクリプトできちんと定義するなり、対応しようと思います。

最近またQt5を使おうかと思っていたところなので、さっそくこのQML2拡張プラグインの仕組みが役に立ちます。

…本件、ドキュメントをオンラインで探しても、未だに情報がこのstackoverflowのポストくらいしかヒットしないんですよね…。QML2の拡張プラグイン使ってみようとして転んでる人、さほど居ないのかな?

0 件のコメント:

コメントを投稿