このページでは

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ドキュメントには、コンポーネントの動作やプロパティを定義する単一のトップレベル項目が含まれます。そのトップレベル項目の外側では、プロパティや動作を定義することはできません。 同様に、Component の定義には単一のトップレベル項目(上記の例ではRectangle )が含まれており、idを除き、この項目の外でデータを定義することはできません。

モデル・ビュー・デリゲート(MVD)パターンも参照してください

添付のシグナルに関するドキュメント

[attached] completed()

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

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

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

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

特定のQtライセンスの下で利用可能です。
詳細はこちらをご覧ください。