Package QML Type

名前付きアイテムのコレクションを指定する。詳細...

Import Statement: import QtQml.Models

付属プロパティ

詳細な説明

Package型は、DelegateModel と共に使用され、共有コンテキストを持つデリゲートを複数のビューに提供できるようにします。

Package内のどの項目にも、Package.name attachedプロパティを介して名前を割り当てることができます。

以下の例では、listと gridの2つの名前付きアイテムを含むPackageを作成しています。パッケージ内の3つ目のアイテム(Rectangle )は、どのデリゲートに表示されるかの親になります。これにより、アイテムはビュー間を移動することができます。

Package {
    Text { id: listDelegate; width: parent.width; height: 25; text: 'Empty'; Package.name: 'list' }
    Text { id: gridDelegate; width: parent.width / 2; height: 50; text: 'Empty'; Package.name: 'grid' }

    Rectangle {
        id: wrapper
        width: parent.width; height: 25
        color: 'lightsteelblue'

        Text { text: display; anchors.centerIn: parent }
        state: root.upTo > index ? 'inGrid' : 'inList'
        states: [
            State {
                name: 'inList'
                ParentChange { target: wrapper; parent: listDelegate }
            },
            State {
                name: 'inGrid'
                ParentChange {
                    target: wrapper; parent: gridDelegate
                    x: 0; y: 0; width: gridDelegate.width; height: gridDelegate.height
                }
            }
        ]

        transitions: [
            Transition {
                ParentAnimation {
                    NumberAnimation { properties: 'x,y,width,height'; duration: 300 }
                }
            }
        ]
    }
}

これらの名前付きアイテムは、特別なDelegateModel::parts プロパティを参照して、選択されたデリゲートを提供するモデルを選択する2つのビューによって、デリゲートとして使用されます。

DelegateModel {
    id: visualModel
    delegate: Delegate {}
    model: myModel
}

ListView {
    id: lv
    height: parent.height/2
    width: parent.width

    model: visualModel.parts.list
}
GridView {
    y: parent.height/2
    height: parent.height/2
    width: parent.width
    cellWidth: width / 2
    cellHeight: 50
    model: visualModel.parts.grid
}

注: Packageはバージョン2.14以降QtQml.Modelsの一部であり、バージョン2.0以降QtQuick 。Qt 5.14 以降、QtQuick を使った Package のインポートは非推奨です。

Qt Quick 例 - ビューとQt Qml.

Attached Property ドキュメント

Package.name : string

この Attached プロパティは、Package 内のアイテムの名前を保持します。


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