このページでは

Qt Quick における重要な概念 - 利便性向上のための型

動性の高いユーザーインターフェースにおいて、アプリケーション開発者はイベントに応答し、さまざまな処理ロジックを起動したいと望むことがよくあります。QMLは、バインディング、シグナルとシグナルハンドラ、および動的なオブジェクトのインスタンス化を通じて、これらの概念を組み込みでサポートしていますが、Qt Quick では、さまざまな利便性の高い型を用いて、言語が提供するサポートをさらに拡張しています。

動的なオブジェクトのインスタンス化

QML には、QML オブジェクトを動的に作成および管理するためのいくつかの方法が用意されています。

オブジェクトは、命令型のJavaScriptコード内からさまざまな方法で動的に作成できます。詳細については、「JavaScriptからの動的なQMLオブジェクトの作成」を参照してください。

Qt Quick Loader 、 、 、 、 といった型を提供しており、これらも動的なオブジェクト管理をサポートし、宣言型 API を提供します。Repeater ListView GridView PathView

動的インスタンス化や遅延初期化を利用してアプリケーションのパフォーマンスを向上させる方法の詳細については、パフォーマンスガイドを参照してください。

動的バインディング

プロパティのバインディングは、QML の基本的な機能です。通常、プロパティはそのバインディングとともに初期化されます。しかし、Binding 型およびQt.binding() 関数を使用すると、クライアントは実行時に任意のオブジェクトからプロパティを動的にバインドし、必要に応じて(または利用可能になった時点で)バインディング先を変更することができます。

動的なシグナル接続

QMLは、シグナルのconnect() メソッドを通じて動的なシグナル接続をサポートしています。 Qt Quick このモジュールは、静的なオブジェクト階層の一部ではないオブジェクトを含むシグナル接続を設定できる便利な `Connections ` 型を提供します。また、実行時に接続先を動的に変更することも可能であり、これによりアプリケーションはプログラムの状態に応じて、異なるシグナル通知を異なる関数で処理できるようになります。

Connections インスタンスを宣言することで、クライアントは、あるオブジェクトから発せられたシグナルを動的に別のオブジェクトのメソッドのトリガーとして動作させることができ、必要に応じて(あるいは利用可能になった時点で)接続先を変更することもできます。

タイマーベースのイベント

もう1つの一般的なユースケースは、特定のイベントが発生してから指定された時間が経過した後に機能をトリガーすることです。この種のタイマーベースのトリガーは、Qt Quick においてTimer 型を通じてサポートされています。ワンショットタイマーと繰り返しタイマーの両方がサポートされています。

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