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 を参照。

ボタンコントロール

AbstractButton

ボタンに共通する機能を提供する抽象的な基本型

Button

クリックしてコマンドを実行したり、質問に答えたりできるプッシュボタン

CheckBox

オン/オフの切り替えが可能なチェックボタン

DelayButton

長く押し続けるとトリガーされるチェックボタン

RadioButton

オン/オフの切り替えが可能な専用ラジオボタン

RoundButton

ユーザーがクリックできる角丸のプッシュボタンコントロール

Switch

オン/オフの切り替えが可能なボタン

ToolButton

ツールバーに適した外観のボタン

コンテナ・コントロール

ApplicationWindow

ヘッダーとフッターをサポートするスタイル付きトップレベルウィンドウ

Container

コンテナに共通する機能を提供する抽象的な基本型

Frame

論理的なコントロールグループのビジュアルフレーム

GroupBox

論理的なコントロールグループのビジュアルフレームとタイトル

HorizontalHeaderView

TableViewに付随する水平ヘッダービューの提供

Page

ヘッダーとフッターをサポートするスタイル付きページコントロール

Pane

アプリケーションのスタイルとテーマにマッチした背景を提供

ScrollView

スクロール可能なビュー

SplitView

各項目間にドラッグ可能なスプリッタを使用して項目をレイアウトします。

StackView

スタックベースのナビゲーションモデル

SwipeView

横スワイプによるページ移動が可能

TabBar

異なるビューやサブタスク間の切り替えが可能

ToolBar

コンテキスト依存コントロールのコンテナ

VerticalHeaderView

TableViewに付随する垂直ヘッダービューを提供

委譲コントロール

CheckDelegate

オン/オフの切り替えが可能なチェック・インジケータを持つ項目デリゲート

ItemDelegate

さまざまなビューやコントロールで使用できる基本的な項目デリゲート

RadioDelegate

オン/オフの切り替えが可能なラジオインジケータを持つ排他的項目デリゲート

SwipeDelegate

スワイプ可能な項目デリゲート

SwitchDelegate

オン/オフの切り替えが可能なスイッチ・インジケータを持つ項目デリゲート

TreeViewDelegate

TreeViewに割り当てることができるデリゲート

インジケーターコントロール

BusyIndicator

コンテンツがロードされている間などのバックグラウンド・アクティビティを示す

PageIndicator

現在アクティブなページを示す

ProgressBar

操作の進行状況を示す

ScrollBar

垂直または水平のインタラクティブスクロールバー

ScrollIndicator

垂直または水平の非対話型スクロールインジケータ

入力コントロール

ComboBox

オプションを選択するためのボタンとポップアップリストの組み合わせ

Dial

値を設定するために回転する円形ダイヤル

RangeSlider

トラックに沿って2つのハンドルをスライドさせることにより、値の範囲を選択するために使用される

Slider

トラックに沿ってハンドルをスライドさせて値を選択するために使用される

TextArea

複数行テキスト入力エリア

TextField

1行テキスト入力フィールド

Tumbler

選択可能な項目の回転可能なホイール

Menu

コンテキストメニューまたはポップアップメニューとして使用できるポップアップ

MenuBar

ウィンドウメニューバーの提供

MenuBarItem

メニューバー内のドロップダウンメニューの表示

MenuItem

メニュー内の項目を表示する

Drawer

スワイプジェスチャーで開閉できるサイドパネル

StackView

スタックベースのナビゲーションモデル

SwipeView

横スワイプによるページ移動が可能

TabBar

異なるビューやサブタスク間の切り替えが可能

TabButton

タブバーに適した外観のボタン

Dialog

標準的なボタンとタイトルを持つポップアップダイアログ。

Drawer

スワイプジェスチャーで開閉できるサイドパネル

Menu

コンテキストメニューまたはポップアップメニューとして使用できるポップアップ

Popup

ポップアップのようなユーザー・インターフェース・コントロールの基本タイプ

ToolTip

あらゆるコントロールにツールヒントを提供

セパレーターコントロール

MenuSeparator

メニュー内の項目グループを隣接する項目から分離する。

ToolSeparator

ツールバーの項目グループを隣接する項目から分離する

バージョン

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

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
    }
}

これらのプロパティは、衝突を避けるために名前を変更する必要があります。

モジュールEvolution

Qt Quick Controls はもともと、タッチ・インターフェースを主な対象として書かれました。デスクトップ・インターフェースを開発することはすでに可能ですが、よりネイティブなルック&フィールを提供するための作業が進行中です。

Qt Quick Controls の変更点には、Qt 6 シリーズの Qt のために行われた、モジュール API と機能の重要な変更が記載されています。

記事とガイド

使用例

リファレンス

ライセンス

Qt Quick ControlsQt 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.