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モジュールのドキュメントを参照してください。
関連情報
©2024 The Qt Company Ltd. ここに含まれるドキュメントの著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。