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を使用しています。

QtQtQuickQtQuick.Controls
QtQuick.Controls.Material
QtQuick.Controls.Universal
QtQuick.Templates
Qt.labs.platform
5.72.72.01.0
5.82.82.11.0
5.92.92.21.0
5.102.102.31.0
5.112.112.41.0
5.122.122.121.0
6.06.06.01.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 には、以下の寛容なライセンスのサードパーティモジュールが含まれている可能性があります:

ここに含まれるドキュメントの著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。