|
static void | data_append (QQmlListProperty< QObject > *prop, QObject *o) |
|
static void | data_clear (QQmlListProperty< QObject > *prop) |
|
static QObject * | data_at (QQmlListProperty< QObject > *prop, qsizetype index) |
|
static qsizetype | data_count (QQmlListProperty< QObject > *prop) |
|
static void | data_replace (QQmlListProperty< QObject > *prop, qsizetype index, QObject *o) |
|
static void | data_removeLast (QQmlListProperty< QObject > *prop) |
|
static void | data_append (QQmlListProperty< QObject > *prop, QObject *o) |
|
static void | data_clear (QQmlListProperty< QObject > *prop) |
|
static QObject * | data_at (QQmlListProperty< QObject > *prop, qsizetype index) |
|
static qsizetype | data_count (QQmlListProperty< QObject > *prop) |
|
static void | data_replace (QQmlListProperty< QObject > *prop, qsizetype index, QObject *o) |
|
static void | data_removeLast (QQmlListProperty< QObject > *prop) |
|
static bool | removeConnection (Connection *c) |
|
static QObjectPrivate * | get (QObject *o) |
|
static const QObjectPrivate * | get (const QObject *o) |
|
template<typename Func1 , typename Func2 > |
static QMetaObject::Connection | connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiverPrivate, Func2 slot, Qt::ConnectionType type=Qt::AutoConnection) |
|
template<typename Func1 , typename Func2 > |
static bool | disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiverPrivate, Func2 slot) |
|
static QMetaObject::Connection | connectImpl (const QObject *sender, int signal_index, const QObject *receiver, void **slot, QtPrivate::QSlotObjectBase *slotObj, int type, const int *types, const QMetaObject *senderMetaObject) |
|
static QMetaObject::Connection | connect (const QObject *sender, int signal_index, QtPrivate::QSlotObjectBase *slotObj, Qt::ConnectionType type) |
|
static QMetaObject::Connection | connect (const QObject *sender, int signal_index, const QObject *receiver, QtPrivate::QSlotObjectBase *slotObj, Qt::ConnectionType type) |
|
static bool | disconnect (const QObject *sender, int signal_index, void **slot) |
|
static bool | disconnect (const QObject *sender, int signal_index, const QObject *receiver, void **slot) |
|
\qmltype Package \nativetype QQuickPackage \inqmlmodule QtQml.Models
Specifies a collection of named items.
The Package type is used in conjunction with DelegateModel to enable delegates with a shared context to be provided to multiple views.
Any item within a Package may be assigned a name via the \l{Package::name}{Package.name} attached property.
The example below creates a Package containing two named items; list and grid. The third item in the package (the \l Rectangle) is parented to whichever delegate it should appear in. This allows an item to move between views.
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 }
}
}
]
}
}
These named items are used as the delegates by the two views who reference the special \l{DelegateModel::parts} property to select a model which provides the chosen delegate.
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
}
- Note
- Package is part of QtQml.Models since version 2.14 and part of QtQuick since version 2.0. Importing Package via QtQuick is deprecated since Qt 5.14.
- See also
- {Qt Quick Examples - Views}, {Qt Qml}
\qmlattachedproperty string QtQml.Models::Package::name This attached property holds the name of an item within a Package.
Definition at line 50 of file qquickpackage.cpp.