Package QML Type
名前付きアイテムのコレクションを指定する。詳細...
Import Statement: | import QtQml.Models |
付属プロパティ
- name : string
詳細説明
Package 型は、DelegateModel と共に使用され、共有コンテキストを持つデリゲートを複数のビューに提供できるようにします。
Package内のどの項目にも、Package.name 添付プロパティを通じて名前を割り当てることができます。
以下の例では、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 。QtQuick 経由での Package のインポートは Qt 5.14 以降では非推奨です。
Qt Quick Examples - ViewsおよびQt Qmlも参照してください 。
Attached プロパティのドキュメント
Package.name : string |
この Attached プロパティは、Package 内のアイテムの名前を保持します。
©2024 The Qt Company Ltd. ここに含まれるドキュメントの著作権はそれぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。