このページでは

Qt Quick Controls QML Types

Qt Quick Controls は、ユーザーインターフェースを作成するための QML タイプを提供します。これらの QML タイプは、 Qt Quick およびQt Quick レイアウトと連携して動作します。

Qt Quick ControlsのQML型は、.qmlファイル内で以下のimport文を使用することで、アプリケーションにインポートできます:

import QtQuick.Controls

QML タイプ

AbstractButton

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

Action

抽象的なユーザーインターフェースアクション

ActionGroup

アクションをグループ化する

ApplicationWindow

ヘッダーとフッターをサポートする、スタイルが適用された最上位ウィンドウ

BusyIndicator

コンテンツの読み込み中など、バックグラウンドでの処理が行われていることを示す

Button

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

ButtonGroup

互いに排他的なチェック可能なボタンのグループ

Calendar

カレンダーのネームスペース

CalendarModel

カレンダーモデル

CheckBox

オンまたはオフに切り替え可能なチェックボタン

CheckDelegate

オン/オフを切り替え可能なチェックインジケーターを持つアイテムデリゲート

ComboBox

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

Container

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

ContextMenu

プラットフォームに適した方法でコンテキストメニューを開く機能を提供するアタッチド型

Control

すべてのコントロールに共通する機能を提供する抽象基底型

DayOfWeekRow

1週間の曜日名の一覧

DelayButton

一定時間長押しすると動作するチェックボタン

Dial

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

Dialog

標準的なボタンとタイトルを備えたポップアップダイアログ。ユーザーとの短時間のやり取りに使用される

DialogButtonBox

ダイアログで使用されるボタンボックス

DoubleSpinBox

ユーザーがあらかじめ設定された浮動小数点値のセットから選択できるようにする

Drawer

スワイプ操作で開閉できるサイドパネル

Frame

コントロールの論理的なグループを表す視覚的な枠

GroupBox

コントロールの論理的なグループを表す視覚的な枠とタイトル

HorizontalHeaderView

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

HorizontalHeaderViewDelegate

ItemDelegate

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

Label

フォントを継承したスタイル付きテキストラベル

Menu

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

MenuBar

ウィンドウメニューバーを提供します

MenuBarItem

MenuBar内にドロップダウンメニューを表示します

MenuItem

メニュー内に項目を表示します

MenuSeparator

メニュー内の項目グループを、隣接する項目から区切る

MonthGrid

カレンダーの月を日単位で表示したグリッド

Overlay

ポップアップ用のウィンドウオーバーレイ

Page

ヘッダーとフッターに対応した、スタイル設定済みのページコントロール

PageIndicator

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

Pane

アプリケーションのスタイルやテーマに合わせた背景を提供します

Popup

ポップアップ形式のユーザーインターフェースコントロールの基本タイプ

ProgressBar

操作の進行状況を表示します

RadioButton

オン/オフを切り替え可能な排他ラジオボタン

RadioDelegate

オン/オフを切り替え可能なラジオインジケーターを備えた排他的なアイテムデリゲート

RangeSlider

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

RoundButton

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

ScrollBar

縦または横のインタラクティブなスクロールバー

ScrollIndicator

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

ScrollView

スクロール可能なビュー

SearchField

検索機能用に設計された専用の入力フィールド

SelectionRectangle

TableView内のテーブルセルを選択するために使用される

Slider

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

SpinBox

ユーザーがあらかじめ設定された値のセットから選択できるようにする

SplitHandle

SplitViewのハンドル用のアタッチドプロパティを提供します

SplitView

各アイテムの間にドラッグ可能なスプリッターを配置してアイテムをレイアウトします

StackView

スタックベースのナビゲーションモデルを提供します

SwipeDelegate

スワイプ可能なアイテムデリゲート

SwipeView

ユーザーが横方向にスワイプしてページを移動できるようにします

Switch

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

SwitchDelegate

オン/オフを切り替え可能なスイッチインジケーターを備えたアイテムデリゲート

TabBar

ユーザーが異なるビューやサブタスクを切り替えられるようにします

TabButton

TabBarに適した外観のボタン

TableViewDelegate

TableViewに割り当て可能なデリゲート

TextArea

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

TextField

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

ToolBar

コンテキストに応じたコントロールを格納するコンテナ

ToolButton

ToolBarに適した外観のボタン

ToolSeparator

ツールバー内のアイテムのグループを、隣接するアイテムから区切る

ToolTip

任意のコントロールにツールチップを表示する

TreeViewDelegate

TreeViewに割り当て可能なデリゲート

Tumbler

選択可能なアイテムが表示されるスピン可能なホイール

VerticalHeaderView

TableViewに付随する縦方向のヘッダービューを提供する

VerticalHeaderViewDelegate

WeekNumberColumn

週番号の列

Qt Quick の使用プロパティ宣言におけるControls型の指定

前述の通り Qt Quick Templates 2 QML Typesで述べたように、Qt Quick Controls の各型は、C++ の「テンプレート」型によって裏付けられています。これらの型は、コントロールのロジックや動作を非視覚的に実装したものです。

たとえば、Menu 型の API および動作は、Qt Quick Templates にある C++ 型によって定義されています。 メニューを提供したい各スタイルには、Menu.qml ファイルが用意されている必要があり、そのファイルのルート項目は、Qt Quick テンプレートにある Menu でなければなりません。QtQuick.Controls をインポートして QML でメニューを作成する場合、得られる型は実際には、そのスタイルの Menu.qml で定義された QML メニューです。

プロパティ宣言の型としてコントロールを使用するには、Qt Quick テンプレートに含まれる対応する型を使用する必要があります。たとえば、PopupOpener コンポーネント(ポップアップを開くボタン)があるとします:

// PopupButton.qml
import QtQuick.Controls

Button {
    required property Popup popup

    onClicked: popup.open()
}

// main.qml
PopupButton {
    popup: saveChangesDialog
}

Dialog {
    id: saveChangesDialog

    // ...
}

このコードを実行すると、エラーが発生します:

Unable to assign Dialog_QMLTYPE to Popup_QMLTYPE

これは、継承階層によるものです:

Popup (C++ type in QtQuick.Templates)
│   └── Popup (QML type in QtQuick.Controls)
└── Dialog (C++ type in QtQuick.Templates)
    └── Dialog (QML type in QtQuick.Controls)

QtQuick.Controls のDialogは、QtQuick.Controls のPopupから派生しているのではなく、QtQuick.Templates から派生しています。

代わりに、プロパティの型としてQt Quick テンプレート内のPopupを使用してください:

// PopupButton.qml
import QtQuick.Controls
import QtQuick.Templates as T

Button {
    required property T.Popup popup

    onClicked: popup.open()
}

Qt Quick の「Controls」モジュールに関する詳細については、Qt Quick の「Controls」モジュールのドキュメントを参照してください。

© 2026 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.