Qt Design Studioの導入を受け、多くのユーザーがさまざまなバックエンドでプロジェクトを実行する可能性について疑問を抱きましたが、これまではC++のみが利用可能でした。
Qt Design Studio (Qt DS)で作成されたQt Quickベースのプロジェクトに機能を追加するためのデフォルト言語はC++でしたが、Python(およびPySide)の人気が高まる中、Qt DSプロジェクトにPythonバックエンドを容易に追加できるようにすることが多くの人々から求められていました。
Pythonパッケージの方法に従い、新しいコンポーネントはプロジェクトにすぐに追加可能です。PySide6がインストールされている仮想環境を有効化し、以下のコマンドをご利用ください。
pip install PySide6_DS
これで完了です。新しいコンポーネントはPySide6のインストールに追加されます。
Qt DSは、FigmaやPhotoshopなど他のアプリケーションからデザインをインポートする際に柔軟性を高めるため、いくつかの便利なQt Quickコンポーネントを追加しています。しかし、これらのコンポーネントはデフォルトのQtインストールには含まれておらず、そのためPySideバインディングにも含まれていないことから、これらを含むプロジェクトを実行する際にエラーが発生していました。
一時的な対策として、これらのアドホックなQt QuickコンポーネントをPySideインストール環境にコピーする方法がありましたが、Python仮想環境の不安定さのため、持続可能な解決策とは言えませんでした。
Qt DS 4.6のリリースにより、Pythonエクスポートオプションを有効にすることで、PySideと連携するプロジェクトを実現することが可能になりました。
これを行うには、File > Export Project > Enable Python Generator を選択してください。これにより、プロジェクトファイル内にPythonディレクトリが生成されます。
以下の例では、E-bikeプロジェクトを使用しており、プロジェクトをエクスポートすると次の内容が表示されます。Pythonディレクトリには、autogen.pyとmain.pyという2つのPythonファイルが含まれていますのでご確認ください。
~/QtDesignStudio/examples/EBikeDesign % ls -1 content/ Generated/ imports/ Python/ src/ CMakeLists.txt EBikeDesign.qmlproject EBikeDesign.qmlproject.qtds main.qml qmlmodules qtquickcontrols2.conf ~/QtDesignStudio/examples/EBikeDesign % tree Python Python ├── autogen │ └── settings.py └── main.py 2 directories, 2 files |
これらのファイルの目的は、アプリケーションを起動するために必要なすべてのコードを含むメインファイルと、プロジェクトの設定用の柔軟なファイルを提供することです。プロジェクトの編集中に自動保存を行う際には、設定ファイルのみが変化し、メインファイルへのURLやQuickコンポーネントが配置されているインポートパスを提供するように設計されています。
この初回リリースにおいて、改善の余地がある点をいくつか確認しており、次回のQt DSリリースに向けて新機能の開発に取り組んでいます。
ご提案がありましたら、ぜひお知らせください。