このページでは

C

Component QML Type

QML コンポーネントの定義をカプセル化します。詳細...

Import Statement: import QtQuick

付属シグナル

詳細説明

コンポーネントは、再利用可能でカプセル化され、明確に定義されたインターフェースを持つQMLの型です。

コンポーネントは多くの場合、コンポーネントファイル、つまり.qml ファイルで定義されます。Component型では、QMLコンポーネントをQMLファイルとして個別に定義するのではなく、QMLドキュメント内でインライン定義することができます。

Component タイプは、ビュー用のグラフィカルコンポーネントを提供するためによく使われます。例えば、ListView::delegateRepeater::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 パターンも参照してください

アタッチドシグナル ドキュメント

completed()

オブジェクトがインスタンス化された後に発行されます。QML環境の準備が整った後、起動時にスクリプトコードを実行するために使用できます。

対応するハンドラはonCompleted です。 任意のオブジェクトに対して宣言することができます。onCompleted ハンドラの実行順序は未定義です。

Rectangle {
    Component.onCompleted: console.log("Completed Running!")
    Rectangle {
        Component.onCompleted: console.log("Nested Completed Running!")
    }
}

注: 対応するハンドラはonCompleted です。


特定の Qt ライセンスの下で利用可能です。
詳細はこちら。