C
Component QML Type
QML コンポーネントの定義をカプセル化します。詳細...
| Import Statement: | import QtQuick |
付属シグナル
詳細説明
コンポーネントは、再利用可能でカプセル化され、明確に定義されたインターフェースを持つQMLの型です。
コンポーネントは多くの場合、コンポーネントファイル、つまり.qml ファイルで定義されます。Component型では、QMLコンポーネントをQMLファイルとして個別に定義するのではなく、QMLドキュメント内でインライン定義することができます。
Component タイプは、ビュー用のグラフィカルコンポーネントを提供するためによく使われます。例えば、ListView::delegate とRepeater::delegate プロパティは、各リスト項目の表示方法を指定するためにComponent を必要とします。
import QtQuick 2.15
Item {
Component {
id: redSquare
Rectangle {
color: "red"
width: 10
height: 10
}
}
Row {
Repeater {
model: 3
delegate: redSquare
}
}
}Component の定義はQML文書の定義と似ています。QML文書には、コンポーネントの動作やプロパティを定義するトップレベルの項目が1つあります。そのトップレベル項目の外側にプロパティや動作を定義することはできません。同じように、Component の定義では、トップレベルの項目(上記の例ではRectangle )が1つだけ含まれ、idを除いて、この項目の外側にデータを定義することはできません。
Model-View-Delegate パターンも参照してください 。
付属シグナルのドキュメント
[attached] completed()
オブジェクトがインスタンス化された後に発行されます。これは、QML環境の準備が整った後、起動時にスクリプトコードを実行するために使用できます。
対応するハンドラはonCompleted です。 任意のオブジェクトに対して宣言することができます。onCompleted ハンドラの実行順序は未定義です。
Rectangle {
Component.onCompleted: console.log("Completed Running!")
Rectangle {
Component.onCompleted: console.log("Nested Completed Running!")
}
}注: 対応するハンドラはonCompleted です。
特定の Qt ライセンスの下で利用可能です。
詳細はこちらをご覧ください。