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