このページの内容

QML用語集

一般的な用語

用語定義
QMLQMLアプリケーションが記述される言語。この言語のアーキテクチャおよびエンジンは、Qt Qml モジュールによって実装されています。
Qt QuickQML言語用の型および機能の標準ライブラリ。Qt Quick モジュールによって提供され、「importQtQuick 」でアクセスできる。
型QMLにおいて、型とは「値型」または「QMLオブジェクト型」のいずれかを指します。

QML 言語には多数の組み込み値型が用意されており、Qt Quick モジュールは、QML アプリケーションを構築するためのさまざまな Qt Quick types を提供しています。また、タイプは、サードパーティの開発者によって(モジュールを通じて)提供されたり、アプリケーション開発者によってQMLドキュメントを通じてアプリケーション自体で提供されたりすることもできます。

詳細については、「QML 型システム」を参照してください。

値型値型とは、int 、string 、bool などの単純な型です。オブジェクト型とは異なり、値型からオブジェクトをインスタンス化することはできません。たとえば、プロパティ、メソッド、シグナルなどを備えたint オブジェクトを作成することは不可能です。

値型もオブジェクト型も、通常はQMLモジュールに属しています。これらを使用するには、モジュールをインポートする必要があります。int、bool、double、stringなどの型に加え、QtObject やComponentといった型も言語に組み込まれています。

詳細については、「QMLの型システム」を参照してください。

オブジェクト型QML オブジェクト型とは、QML エンジンによってインスタンス化できる型のことです。

QML 型は、.qml ファイル内の、大文字で始まる記述、あるいはQObject ベースの C++ クラスによって定義することができます。

詳細については、「QML 型システム」を参照してください。

オブジェクトQML オブジェクトは、QML オブジェクト型のインスタンスです。

このようなオブジェクトは、作成するオブジェクトや各オブジェクトに対して定義する属性を指定するオブジェクト宣言をエンジンが処理する際に、エンジンによって作成されます。

さらに、Component.createObject() および Qt.createQmlObject() を使用して、実行時に動的にオブジェクトを作成することもできます。

「遅延インスタンス化」も参照してください。

コンポーネントコンポーネントとは、QML オブジェクトまたはオブジェクトツリーが作成されるためのテンプレートです。これは、QML エンジンによってドキュメントが読み込まれたときに生成されます。読み込まれると、それが表すオブジェクトまたはオブジェクトツリーをインスタンス化するために使用できます。

さらに、Component 型は、ドキュメント内でコンポーネントをインラインで宣言するために使用できる特別な型です。また、Qt.createComponent() を通じてコンポーネントオブジェクトを動的に生成し、QMLオブジェクトを動的に作成することもできます。

ドキュメントQMLドキュメントとは、1つ以上のimport文で始まり、単一のトップレベルオブジェクト宣言を含む、自己完結型のQMLソースコードのことです。ドキュメントは、.qmlファイルまたはテキスト文字列として存在します。

ファイル名が大文字で始まる .qml ファイルに配置された場合、そのファイルはエンジンによって QML 型の定義として認識されます。トップレベルオブジェクトの宣言は、その型によってインスタンス化されるオブジェクトツリーをカプセル化します。

プロパティプロパティとは、名前とそれに関連付けられた値を持つオブジェクト型の属性であり、この値は外部から読み取ることができ(また、ほとんどの場合、書き込むこともできます)。

オブジェクトは、1 つ以上のプロパティを持つことができます。一部のプロパティはキャンバスに関連付けられています(例:x、y、width、height、opacity)が、他のプロパティはその型に固有のデータである場合もあります(例:Text 型の「text」プロパティ)。

詳細については、「QML オブジェクトの属性」を参照してください。

バインディングバインディングとは、プロパティに「バインド」された JavaScript 式のことです。任意の時点におけるプロパティの値は、その式を評価した結果として返される値となります。

詳細については、「プロパティのバインディング」を参照してください。

シグナルシグナルとは、QMLオブジェクトからの通知のことです。オブジェクトがシグナルを発行すると、他のオブジェクトはシグナルハンドラを通じてこのシグナルを受信し、処理することができます。

QML オブジェクトのプロパティのほとんどには変更シグナルがあり、また、機能を実装するためにクライアントが定義できる関連する変更シグナルハンドラも存在します。たとえば、MouseArea 型のインスタンスの「onClicked()」ハンドラをアプリケーション内で定義し、音を再生させることができます。

詳細については、「シグナルとハンドラによるイベントシステム」を参照してください。

シグナルハンドラシグナルハンドラとは、シグナルによってトリガーされる式(または関数)のことです。C++ では「スロット」とも呼ばれます。

詳細については、「シグナルとハンドラのイベントシステム」を参照してください。

遅延インスタンス化オブジェクトのインスタンスは、必要になるまで不必要な処理を回避するために、実行時に「遅延」してインスタンス化することができます。Qt Quick では、遅延インスタンス化をより便利に行えるように、Loader 型が提供されています。

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