Qt Quick Controls QML Types
Qt Quick Controlsは、ユーザーインターフェースを作成するためのQML型を提供します。これらのQML型は Qt QuickやQt Quick Layouts と連携して動作します。
Qt Quick ControlsのQMLタイプは、.qmlファイル中の以下のimport文を使ってアプリケーションにインポートすることができます:
import QtQuick.Controls
QML タイプ
ボタンに共通する機能を提供する抽象的な基本型 | |
抽象的なユーザーインターフェースのアクション | |
アクションをグループ化 | |
ヘッダーとフッターをサポートするスタイル付きトップレベルウィンドウ | |
コンテンツの読み込み中など、バックグラウンドでの活動を示す | |
クリックすることでコマンドを実行したり、質問に答えたりできるプッシュボタン | |
相互に排他的なチェック可能ボタンのグループ | |
カレンダー名前空間 | |
カレンダーモデル | |
オン/オフの切り替えが可能なチェックボタン | |
オン・オフを切り替えられるチェック・インジケータを持つ項目デリゲート | |
オプションを選択するためのボタンとポップアップリストの組み合わせ | |
コンテナに共通する機能を提供する抽象ベース型 | |
プラットフォームに適した方法でコンテキストメニューを開く方法を提供する付属型 | |
すべてのコントロールに共通する機能を提供する抽象的な基本型 | |
1週間の曜日名の列 | |
長く押し続けるとトリガーされるチェックボタン | |
値を設定するために回転する円形ダイヤル | |
標準的なボタンとタイトルを持つポップアップダイアログ。 | |
ダイアログで使用されるボタンボックス | |
スワイプジェスチャーで開閉できるサイドパネル | |
論理的なコントロールグループのビジュアルフレーム | |
論理的なコントロールグループのビジュアルフレームとタイトル | |
TableViewに付随する水平ヘッダービューの提供 | |
さまざまなビューやコントロールで使用できる基本アイテムデリゲート | |
フォントを継承したスタイル付きテキストラベル | |
コンテキストメニューまたはポップアップメニューとして使用できるポップアップ | |
ウィンドウのメニューバーを提供 | |
MenuBar内にドロップダウンメニューを表示する | |
メニュー内の項目を表示する | |
メニュー内の項目グループを隣接する項目から分離する | |
カレンダーの月の曜日のグリッド | |
ポップアップ用のウィンドウ・オーバーレイ | |
ヘッダーとフッターをサポートするスタイル付きページコントロール | |
現在アクティブなページを表示 | |
アプリケーションのスタイルとテーマにマッチした背景を提供します。 | |
ポップアップのようなユーザー・インターフェース・コントロールのベース・タイプ | |
操作の進行状況を表示 | |
オン/オフの切り替えが可能な専用ラジオボタン | |
オンまたはオフに切り替え可能なラジオ・インジケータを持つ排他的項目デリゲート | |
トラックに沿って2つのハンドルをスライドさせることにより、値の範囲を選択するために使用される | |
ユーザーがクリックできる角丸の押しボタンコントロール | |
垂直または水平のインタラクティブスクロールバー | |
垂直または水平の非対話型スクロールインジケータ | |
スクロール可能なビュー | |
TableView内のテーブルセルを選択するために使用 | |
トラックに沿ってハンドルをスライドさせて値を選択するために使用されます。 | |
ユーザーがプリセット値のセットから選択できるようにします。 | |
SplitViewハンドルの付属プロパティを提供します。 | |
各項目の間にドラッグ可能なスプリッタを使用して項目をレイアウトします。 | |
スタックベースのナビゲーションモデルを提供 | |
スワイプ可能なアイテムデリゲート | |
ユーザーが横にスワイプしてページを移動できるようにする | |
オン/オフの切り替えが可能なボタン | |
オン/オフの切り替えが可能なスイッチ・インジケータを持つアイテム・デリゲート | |
ユーザーが異なるビューやサブタスクを切り替えられるようにする | |
タブバーに適した外観のボタン | |
TableViewに割り当てることができるデリゲート | |
複数行テキスト入力エリア | |
単一行テキスト入力フィールド | |
コンテキスト依存コントロールのコンテナ | |
ToolBarに適した外観を持つボタン | |
ツールバーのアイテム・グループを隣接するアイテムから分離する | |
任意のコントロールにツール・ヒントを提供する | |
TreeViewに割り当てることができるデリゲート | |
選択可能なアイテムの回転ホイール | |
TableViewに付随する垂直ヘッダー表示 | |
週番号の列 |
Qt Quick コントロール・タイプをプロパティ宣言で使用する
で述べたように Qt Quick Templates 2 QML Typesで述べたように、Qt Quick Controls の各タイプは、C++ の「テンプレート」タイプによってサポートされています。これらの型は、コントロールのロジックと振る舞いを非ビジュアルに実装したものです。
例えば、Menu 型の API と動作は、Qt Quick Templates の C++ 型によって定義されています。Menuを提供したい各スタイルは、Menu.qmlを利用できるようにする必要があり、そのファイルのルートアイテムはQt Quick TemplatesのMenuでなければなりません。QtQuick.ControlsをインポートしてQMLでMenuを作成すると、実際に得られる型はスタイルのMenu.qmlで定義されたQML Menuになります。
コントロールをプロパティ宣言の型として使用するには、Qt Quick Templatesから対応する型を使用する必要があります。例えば、PopupOpener
、Popupを開くButtonというコンポーネントがあったとします:
// 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 Templates の 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モジュールのドキュメントを参照してください。
関連情報
© 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.