PySide6.QtQml.QQmlListReference¶
- class QQmlListReference¶
The
QQmlListReference
class allows the manipulation ofQQmlListProperty
properties. More…Synopsis¶
Methods¶
def
__init__()
def
append()
def
at()
def
canAppend()
def
canAt()
def
canClear()
def
canCount()
def
canRemoveLast()
def
canReplace()
def
clear()
def
count()
def
isManipulable()
def
isReadable()
def
isValid()
def
object()
def
__eq__()
def
removeLast()
def
replace()
def
size()
Note
This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE
Detailed Description¶
QQmlListReference
allows C++ programs to read from, and assign values to a QML list property in a simple and type-safe way. AQQmlListReference
can be created by passing an object and property name or through aQQmlProperty
instance. These two are equivalent:QQmlListReference ref1(object, "children"); QQmlProperty ref2(object, "children"); QQmlListReference ref2 = qvariant_cast<QQmlListReference>(ref2.read());
Not all QML list properties support all operations. A set of methods,
canAppend()
,canAt()
,canClear()
andcanCount()
allow programs to query whether an operation is supported on a given property.QML list properties are type-safe. Only QObject’s that derive from the correct base class can be assigned to the list. The
listElementType()
method can be used to query the QMetaObject of the QObject type supported. Attempting to add objects of the incorrect type to a list property will fail.Like with normal lists, when accessing a list element by index, it is the callers responsibility to ensure that it does not request an out of range element using the
count()
method before callingat()
.- __init__()¶
Constructs an invalid instance.
- __init__(variant)
- Parameters:
variant –
QQmlListReference
Constructs a
QQmlListReference
from a QVariantvariant
containing aQQmlListProperty
. Ifvariant
does not contain a list property, an invalidQQmlListReference
is created. If the object owning the list property is destroyed after the reference is constructed, it will automatically become invalid. That is, it is safe to holdQQmlListReference
instances even after the object is deleted.- __init__(variant)
- Parameters:
variant – object
Constructs a
QQmlListReference
from a QVariantvariant
containing aQQmlListProperty
. Ifvariant
does not contain a list property, an invalidQQmlListReference
is created. If the object owning the list property is destroyed after the reference is constructed, it will automatically become invalid. That is, it is safe to holdQQmlListReference
instances even after the object is deleted.- __init__(o, property)
- Parameters:
o –
QObject
property – str
Constructs a
QQmlListReference
forobject
'sproperty
. Ifproperty
is not a list property, an invalidQQmlListReference
is created. Ifobject
is destroyed after the reference is constructed, it will automatically become invalid. That is, it is safe to holdQQmlListReference
instances even afterobject
is deleted.- __init__(variant, engine)
- Parameters:
variant – object
engine –
QQmlEngine
Note
This function is deprecated.
Use the constructors without
QQmlEngine
argument instead.Constructs a
QQmlListReference
from a QVariantvariant
containing aQQmlListProperty
. Ifvariant
does not contain a list property, an invalidQQmlListReference
is created. If the object owning the list property is destroyed after the reference is constructed, it will automatically become invalid. That is, it is safe to holdQQmlListReference
instances even after the object is deleted.The
engine
is unused.- __init__(o, property, engine)
- Parameters:
o –
QObject
property – str
engine –
QQmlEngine
Note
This function is deprecated.
Use the constructors without
QQmlEngine
argument instead.Constructs a
QQmlListReference
forobject
'sproperty
. Ifproperty
is not a list property, an invalidQQmlListReference
is created. Ifobject
is destroyed after the reference is constructed, it will automatically become invalid. That is, it is safe to holdQQmlListReference
instances even afterobject
is deleted.The
engine
is unused.Appends
object
to the list. Returns true if the operation succeeded, otherwise false.See also
Returns the list element at
index
, or 0 if the operation failed.See also
- canAppend()¶
- Return type:
bool
Returns true if the list property can be appended to, otherwise false. Returns false if the reference is invalid.
See also
- canAt()¶
- Return type:
bool
Returns true if the list property can queried by index, otherwise false. Returns false if the reference is invalid.
See also
- canClear()¶
- Return type:
bool
Returns true if the list property can be cleared, otherwise false. Returns false if the reference is invalid.
See also
- canCount()¶
- Return type:
bool
Returns true if the list property can be queried for its element count, otherwise false. Returns false if the reference is invalid.
See also
- canRemoveLast()¶
- Return type:
bool
Returns true if the last item can be removed from the list property, otherwise false. Returns false if the reference is invalid.
See also
- canReplace()¶
- Return type:
bool
Returns true if items in the list property can be replaced, otherwise false. Returns false if the reference is invalid.
See also
- clear()¶
- Return type:
bool
Clears the list. Returns true if the operation succeeded, otherwise false.
See also
- count()¶
- Return type:
int
Returns the number of objects in the list, or 0 if the operation failed.
- isManipulable()¶
- Return type:
bool
Return true if
at()
,count()
,append()
, and eitherclear()
orremoveLast()
are implemented, so you can manipulate the list.Mind that
replace()
andremoveLast()
can be emulated by stashing all items and rebuilding the list usingclear()
andappend()
. Therefore, they are not required for the list to be manipulable. Furthermore,clear()
can be emulated usingremoveLast()
.See also
isReadable()
at()
count()
append()
clear()
replace()
removeLast()
- isReadable()¶
- Return type:
bool
Return true if
at()
andcount()
are implemented, so you can access the elements.See also
- isValid()¶
- Return type:
bool
Returns true if the instance refers to a valid list property, otherwise false.
- listElementType()¶
- Return type:
Returns the QMetaObject for the elements stored in the list property, or
None
if the reference is invalid.The QMetaObject can be used ahead of time to determine whether a given instance can be added to a list. If you didn’t pass an engine on construction this may return nullptr.
Returns the list property’s object. Returns
None
if the reference is invalid.- __eq__(other)¶
- Parameters:
other –
QQmlListReference
- Return type:
bool
Compares this
QQmlListReference
toother
, and returnstrue
if they are equal. The two are only considered equal if one was created from the other via copy assignment or copy construction.Note
Independently created references to the same object are not considered to be equal.
- removeLast()¶
- Return type:
bool
Removes the last item in the list. Returns true if the operation succeeded, otherwise false.
See also
Replaces the item at
index
in the list withobject
. Returns true if the operation succeeded, otherwise false.See also
- size()¶
- Return type:
int
Returns the number of objects in the list, or 0 if the operation failed.