この記事は、「Qt Quick additions to Qt5」を意訳したものです
少し前に、Qt6の一部としていくつかのQMLコンポーネントをリリースし、好評を得ました。しかし、残念ながらQt5ユーザーはこれを利用できません。そこで、すでにご覧になった方もいらっしゃると思いますが、Qt marketplaceから無料で入手できるようにしました。
この機会に、TreeView、CalendarView、Multieffectsなどを活用して、Qt5環境を充実させましょう。もし、これらについてよく知らないのであれば、ここで少し復習しておきましょう:
Treeview - Qt Quick (QML) は、QMLで作られたアプリに(フォルダ構造のような)ツリービューを作成できるようにします。詳しくは、こちらを参照: https://marketplace.qt.io/products/treeview
Calendarview (Calendar for Qt Quick) - これはTreeviewに似たアドオンですが、QMLベースのカレンダーと、その日付ピッカーを提供します。 詳しくは、こちらを参照: https://marketplace.qt.io/products/qt-quick-calendar
Multieffects - 余分な FBO を消費することなく 2D ポスト処理エフェクトを連鎖させることができます。Qt 6.5 では、Quick Effect Maker ツールが導入され、Qt Design Studio プラグインも提供されます。かなり優れものなので、チェックしてみてください: https://marketplace.qt.io/products/qt-quick-multieffect
さて、これらのアイテムをどのように入手し、あなたのQt環境にインストールするのでしょうか。ライセンス(OSSか商用か)に関係なく、手順は同じです:
ダウンロード
1. 各モジュールのQt marketplaceのページ(上記リンク)にある‘Get extension’をクリックします。
2. 新しいページが表示されます。ここで、‘Email me with news and offers’にチェックを入れると、Qtから最新ニュースを受け取ることができるようになります 。
3. ダウンロード手続きを進めるために ‘Continue to payment’ をクリックします。
4. 手続きの最後のページが表示されます。ここで‘Buy’をクリックすると、手続き完了です。
5. まもなく、Qt Marketplaceから2通のメールが届きます。ひとつは‘Order xxxxx confirmed’という件名で、もうひとつは'Instructions for your Qt Marketplace order’という件名のメールです。後者は、入手したパッケージに関するインストール方法が記載されています。
TreeView & Calendar for Qt Quick
'Instructions for your Qt Marketplace order’メールには、‘Instructions: See application instructions'という項目がありますので、そちらをクリックしてください。パッケージに関する zip または tar アーカイブをダウンロードするページが表示されます。Qt5環境では、Qt5パッケージを使用していることを確認してください。Qt6の場合は、すでにリリースされているアイテムです。
Qt Quick MultiEffect
直接ダウンロードするには、以下のリポジトリをクローンします。
git clone https://code.qt.io/qt-extensions/qtquickmultieffect.git
ステップByステップの案内が必要であれば'Instructions for your Qt Marketplace order’メールに‘Instructions: See application instructions'という項目があるので、それをクリックしてください。すると、‘Download component’というダウンロードリンクのあるページが表示されます。それをクリックしてください。次のページに移動します https://code.qt.io/cgit/qt-extensions/qtquickmultieffect.git.
インストール
さて、これでダウンロードは完了です。これらのパッケージはQt5向けに作られているので、qmakeを使用して1-2-3のようにビルド&インストールしましょう。
1. qmake
2. make
3. make install