Qt クイックコントロール
Qt Quick Controls は、Qt Quick で完全なインターフェースを構築するために使用できるコントロールのセットを提供します。このモジュールは Qt 5.7 で導入されました。
Qt Quick Controls にはカスタマイズ可能なスタイルが用意されています。詳しくはStyling Qt Quick Controlsを参照してください。
モジュールを使う
QML API
モジュールの QML 型は、QtQuick.Controls
のインポートから利用できます。この型を使用するには、以下の import 文を .qml ファイルに追加してください:
import QtQuick.Controls
C++ API
Qt モジュールの C++ API を使用するには、モジュールライブラリを直接リンクするか、他の依存関係を通 してリンクする必要があります。CMakeや qmakeなど、いくつかのビルドツールはこのための専用サポートを持っています。
CMake でのビルド
find_package()
コマンドを使用して、必要なモジュール・コンポーネントをQt6
パッケージから探します:
find_package(Qt6 REQUIRED COMPONENTS QuickControls2)
target_link_libraries(mytarget PRIVATE Qt6::QuickControls2)
詳細については、CMakeによるビルドの概要を参照してください。
qmakeでのビルド
qmakeでビルドするようにモジュールを設定するには、プロジェクトの.proファイルにQT
変数の値としてモジュールを追加します:
QT += quickcontrols2
ソースからのビルド
Qt Image Formatsモジュールの使用を推奨しますが、必須ではありません。これはImagine スタイルで使用される.webp
フォーマットのサポートを提供します。
バージョン
Qt Quick Controls 2.0 は Qt 5.7 で導入されました。それ以降の Qt のマイナーリリースでは、Qt Quick Controls モジュールのインポートバージョンが 1 つずつ増加し、Qt 5.12 ではインポートバージョンが Qt のマイナーバージョンと同じになりました。
Qt 6 では、メジャーバージョンとマイナーバージョンの両方が一致し、QML のインポートではバージョン番号を省略することができます。バージョンが省略された場合は、最新のバージョンが使用されます。
実験的なQt Labsのモジュールでは、import version 1.0を使用しています。
Qt | QtQuick | QtQuick.Controls QtQuick.Controls.Material QtQuick.Controls.Universal QtQuick.Templates | Qt.labs.platform |
---|---|---|---|
5.7 | 2.7 | 2.0 | 1.0 |
5.8 | 2.8 | 2.1 | 1.0 |
5.9 | 2.9 | 2.2 | 1.0 |
5.10 | 2.10 | 2.3 | 1.0 |
5.11 | 2.11 | 2.4 | 1.0 |
5.12 | 2.12 | 2.12 | 1.0 |
6.0 | 6.0 | 6.0 | 1.0 |
... | ... | ... | ... |
改訂
Qt Quick Controls の実装方法によって、新しく追加されたプロパティは、同じ名前のユーザー定義プロパティと衝突する可能性があります。例えば、以下のスニペットはエラーになります:
import QtQuick.Controls 2.13 ApplicationWindow { // ... ComboBox { anchors.centerIn: parent // As currentValue was added in 2.14, the versioned import above // should cause this property to be used, but instead an error is produced: // "Cannot override FINAL property" property int currentValue: 0 } }
これらのプロパティは、衝突を避けるために名前を変更する必要があります。
モジュールの進化
Qt Quick Controls は元々タッチインタフェースを主な対象として書かれました。デスクトップ・インターフェースを開発することはすでに可能ですが、よりネイティブなルック&フィールを提供するための作業が進行中です。
Qt Quick Controls の変更点には、Qt 6 シリーズの Qt のために行われたモジュール API と機能の重要な変更が記載されています。
記事とガイド
使用例
リファレンス
関連モジュール
ライセンスと使用許諾
Qt Quick Controls はThe Qt Company の商用ライセンスで利用できます。また、GNU Lesser General Public License, version 3 またはGNU General Public License, version 2 の下でも利用可能です。詳細はQt Licensingを参照してください。
さらに、Qt Quick Controls には、以下の寛容なライセンスのサードパーティモジュールが含まれている可能性があります:
MIT ライセンス |
ここに含まれるドキュメントの著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。