Qt Quick Controls
Qt Quick Controls は、 で完全なインターフェイスを構築するために使用できるコントロールのセットを提供します。このモジュールは Qt 5.7 で導入されました。Qt Quick
Qt Quick Controls には、カスタマイズ可能なスタイルが用意されています。詳細はスタイリングQt Quick Controls を参照してください。
モジュールを使う
QML API
モジュールの QML タイプはQtQuick.Controls
のインポートから利用できます。この型を使用するには、.qml ファイルに以下の import 文を追加してください:
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 の全リストはQML Types を参照。
ボタンコントロール
ボタンに共通する機能を提供する抽象的な基本型 | |
クリックしてコマンドを実行したり、質問に答えたりできるプッシュボタン | |
オン/オフの切り替えが可能なチェックボタン | |
長く押し続けるとトリガーされるチェックボタン | |
オン/オフの切り替えが可能な専用ラジオボタン | |
ユーザーがクリックできる角丸のプッシュボタンコントロール | |
オン/オフの切り替えが可能なボタン | |
ツールバーに適した外観のボタン |
コンテナ・コントロール
ヘッダーとフッターをサポートするスタイル付きトップレベルウィンドウ | |
コンテナに共通する機能を提供する抽象的な基本型 | |
論理的なコントロールグループのビジュアルフレーム | |
論理的なコントロールグループのビジュアルフレームとタイトル | |
TableViewに付随する水平ヘッダービューの提供 | |
ヘッダーとフッターをサポートするスタイル付きページコントロール | |
アプリケーションのスタイルとテーマにマッチした背景を提供 | |
スクロール可能なビュー | |
各項目間にドラッグ可能なスプリッタを使用して項目をレイアウトします。 | |
スタックベースのナビゲーションモデル | |
横スワイプによるページ移動が可能 | |
異なるビューやサブタスク間の切り替えが可能 | |
コンテキスト依存コントロールのコンテナ | |
TableViewに付随する垂直ヘッダービューを提供 |
委譲コントロール
オン/オフの切り替えが可能なチェック・インジケータを持つ項目デリゲート | |
さまざまなビューやコントロールで使用できる基本的な項目デリゲート | |
オン/オフの切り替えが可能なラジオインジケータを持つ排他的項目デリゲート | |
スワイプ可能な項目デリゲート | |
オン/オフの切り替えが可能なスイッチ・インジケータを持つ項目デリゲート | |
TreeViewに割り当てることができるデリゲート |
インジケーターコントロール
コンテンツがロードされている間などのバックグラウンド・アクティビティを示す | |
現在アクティブなページを示す | |
操作の進行状況を示す | |
垂直または水平のインタラクティブスクロールバー | |
垂直または水平の非対話型スクロールインジケータ |
入力コントロール
オプションを選択するためのボタンとポップアップリストの組み合わせ | |
値を設定するために回転する円形ダイヤル | |
トラックに沿って2つのハンドルをスライドさせることにより、値の範囲を選択するために使用される | |
トラックに沿ってハンドルをスライドさせて値を選択するために使用される | |
複数行テキスト入力エリア | |
1行テキスト入力フィールド | |
選択可能な項目の回転可能なホイール |
メニューコントロール
コンテキストメニューまたはポップアップメニューとして使用できるポップアップ | |
ウィンドウメニューバーの提供 | |
メニューバー内のドロップダウンメニューの表示 | |
メニュー内の項目を表示する |
ナビゲーションコントロール
スワイプジェスチャーで開閉できるサイドパネル | |
スタックベースのナビゲーションモデル | |
横スワイプによるページ移動が可能 | |
異なるビューやサブタスク間の切り替えが可能 | |
タブバーに適した外観のボタン |
ポップアップコントロール
標準的なボタンとタイトルを持つポップアップダイアログ。 | |
スワイプジェスチャーで開閉できるサイドパネル | |
コンテキストメニューまたはポップアップメニューとして使用できるポップアップ | |
ポップアップのようなユーザー・インターフェース・コントロールの基本タイプ | |
あらゆるコントロールにツールヒントを提供 |
セパレーターコントロール
メニュー内の項目グループを隣接する項目から分離する。 | |
ツールバーの項目グループを隣接する項目から分離する |
バージョン
Qt Quick Controls 2.0 は Qt 5.7 で導入されました。それ以降の Qt のマイナーリリースでは、 モジュールのインポートバージョンが 1 つずつ増加し、Qt 5.12 ではインポートバージョンが Qt のマイナーバージョンと一致するようになりました。Qt Quick Controls
Qt 6では、メジャーバージョンとマイナーバージョンの両方が一致し、QMLのインポートではバージョン番号を省略することができます。バージョンが省略された場合は、最新のバージョンが使用されます。
実験的なQt Labsのモジュールでは、importのバージョンは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 } }
これらのプロパティは、衝突を避けるために名前を変更する必要があります。
モジュールEvolution
Qt Quick Controls はもともと、タッチ・インターフェースを主な対象として書かれました。デスクトップ・インターフェースを開発することはすでに可能ですが、よりネイティブなルック&フィールを提供するための作業が進行中です。
Qt Quick Controls の変更点には、Qt 6 シリーズの Qt のために行われた、モジュール API と機能の重要な変更が記載されています。
記事とガイド
使用例
リファレンス
関連モジュール
ライセンス
Qt Quick Controls はQt Companyの商用ライセンスで利用できます。また、GNU Lesser General Public License, version 3 またはGNU General Public License, version 2 の下でも利用可能です。詳細はQt ライセンスを参照してください。
さらに、Qt Quick Controls は、以下の寛容なライセンスのサードパーティモジュールを含む可能性があります:
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.