- class QQmlProperty¶
The
QQmlProperty
class abstracts accessing properties on objects created from QML. More…Synopsis¶
Properties¶
Methods¶
def
__init__()
def
index()
def
isBindable()
def
isDesignable()
def
isProperty()
def
isResettable()
def
isValid()
def
isWritable()
def
method()
def
name()
def
object()
def
__eq__()
def
property()
def
propertyType()
def
read()
def
reset()
def
swap()
def
type()
def
write()
Static functions¶
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¶
As QML uses Qt’s meta-type system all of the existing QMetaObject classes can be used to introspect and interact with objects created by QML. However, some of the new features provided by QML - such as type safety and attached properties - are most easily used through the
QQmlProperty
class that simplifies some of their natural complexity.Unlike QMetaProperty which represents a property on a class type,
QQmlProperty
encapsulates a property on a specific object instance. To read a property’s value, programmers create aQQmlProperty
instance and call theread()
method. Likewise to write a property value thewrite()
method is used.For example, for the following QML code:
The Text object’s properties could be accessed using
QQmlProperty
, like this:#include <QQmlProperty> #include <QGraphicsObject> ... QQuickView view(QUrl::fromLocalFile("MyItem.qml")); QQmlProperty property(view.rootObject(), "font.pixelSize"); qWarning() << "Current pixel size:" << property.read().toInt(); property.write(24); qWarning() << "Pixel size should now be 24:" << property.read().toInt();
- class PropertyTypeCategory¶
This enum specifies a category of QML property.
Constant
Description
QQmlProperty.InvalidCategory
The property is invalid, or is a signal property.
QQmlProperty.List
The property is a
QQmlListProperty
list propertyQQmlProperty.Object
The property is a QObject derived type pointer
QQmlProperty.Normal
The property is a normal value property.
- class Type¶
This enum specifies a type of QML property.
Constant
Description
QQmlProperty.Invalid
The property is invalid.
QQmlProperty.Property
The property is a regular Qt property.
QQmlProperty.SignalProperty
The property is a signal property.
Note
Properties can be used directly when
from __feature__ import true_property
is used or via accessor functions otherwise.- property nameᅟ: str¶
- Access functions:
- Access functions:
- __init__()¶
Create an invalid
QQmlProperty
.- __init__(arg__1)
- Parameters:
arg__1 –
QObject
Creates a
QQmlProperty
for the default property ofobj
. If there is no default property, an invalidQQmlProperty
will be created.- __init__(arg__1)
- Parameters:
arg__1 –
QQmlProperty
Create a copy of
other
.- __init__(arg__1, arg__2)
- Parameters:
arg__1 –
QObject
arg__2 –
QQmlContext
Creates a
QQmlProperty
for the default property ofobj
using thecontext
ctxt
. If there is no default property, an invalidQQmlProperty
will be created.- __init__(arg__1, arg__2)
- Parameters:
arg__1 –
QObject
arg__2 –
QQmlEngine
Creates a
QQmlProperty
for the default property ofobj
using the environment for instantiating QML components that is provided byengine
. If there is no default property, an invalidQQmlProperty
will be created.- __init__(arg__1, arg__2)
- Parameters:
arg__1 –
QObject
arg__2 – str
Creates a
QQmlProperty
for the propertyname
ofobj
.- __init__(arg__1, arg__2, arg__3)
- Parameters:
arg__1 –
QObject
arg__2 – str
arg__3 –
QQmlContext
Creates a
QQmlProperty
for the propertyname
ofobj
using thecontext
ctxt
.Creating a
QQmlProperty
without a context will render some properties - like attached properties - inaccessible.- __init__(arg__1, arg__2, arg__3)
- Parameters:
arg__1 –
QObject
arg__2 – str
arg__3 –
QQmlEngine
Creates a
QQmlProperty
for the propertyname
ofobj
using the environment for instantiating QML components that is provided byengine
.Connects the property’s change notifier signal to the specified
slot
of thedest
object and returns true. Returns false if this metaproperty does not represent a regular Qt property or if it has no change notifier signal, or if thedest
object does not have the specifiedslot
.Note
slot
should be passed using the SLOT() macro so it is correctly identified.- connectNotifySignal(dest, method)
- Parameters:
dest –
QObject
method – int
- Return type:
bool
Connects the property’s change notifier signal to the specified
method
of thedest
object and returns true. Returns false if this metaproperty does not represent a regular Qt property or if it has no change notifier signal, or if thedest
object does not have the specifiedmethod
.- hasNotifySignal()¶
- Return type:
bool
Returns true if the property has a change notifier signal, otherwise false.
- index()¶
- Return type:
int
Return the Qt metaobject index of the property.
- isBindable()¶
- Return type:
bool
- isDesignable()¶
- Return type:
bool
Returns true if the property is designable, otherwise false.
- isProperty()¶
- Return type:
bool
Returns true if this
QQmlProperty
represents a regular Qt property.- isResettable()¶
- Return type:
bool
Returns true if the property is resettable, otherwise false.
- isSignalProperty()¶
- Return type:
bool
Returns true if this
QQmlProperty
represents a QML signal property.- isValid()¶
- Return type:
bool
Returns true if the
QQmlProperty
refers to a valid property, otherwise false.- isWritable()¶
- Return type:
bool
Returns true if the property is writable, otherwise false.
- method()¶
- Return type:
Return the QMetaMethod for this property if it is a
SignalProperty
, otherwise returns an invalid QMetaMethod.- name()¶
- Return type:
str
Return the name of this QML property.
Getter of property
nameᅟ
.- needsNotifySignal()¶
- Return type:
bool
Returns true if the property needs a change notifier signal for bindings to remain upto date, false otherwise.
Some properties, such as attached properties or those whose value never changes, do not require a change notifier.
Returns the
QQmlProperty
‘s QObject.Getter of property
objectᅟ
.- __eq__(arg__1)¶
- Parameters:
arg__1 –
QQmlProperty
- Return type:
bool
Returns true if
other
and thisQQmlProperty
represent the same property.- property()¶
- Return type:
Returns the Qt property associated with this QML property.
Returns the metatype of the property.
See also
- propertyType()¶
- Return type:
int
Returns the metatype id of the property, or QMetaType::UnknownType if the property has no metatype.
See also
- propertyTypeCategory()¶
- Return type:
Returns the property category.
- propertyTypeName()¶
- Return type:
str
Returns the type name of the property, or 0 if the property has no type name.
- read()¶
- Return type:
object
Returns the property value.
- static read(arg__1, arg__2)
- Parameters:
arg__1 –
QObject
arg__2 – str
- Return type:
object
Return the
name
property value ofobject
. This method is equivalent to:QQmlProperty p(object, name); p.read();
- static read(arg__1, arg__2, arg__3)
- Parameters:
arg__1 –
QObject
arg__2 – str
arg__3 –
QQmlContext
- Return type:
object
Return the
name
property value ofobject
using thecontext
ctxt
. This method is equivalent to:QQmlProperty p(object, name, context); p.read();
- static read(arg__1, arg__2, arg__3)
- Parameters:
arg__1 –
QObject
arg__2 – str
arg__3 –
QQmlEngine
- Return type:
object
Return the
name
property value ofobject
using the environment for instantiating QML components that is provided byengine
. . This method is equivalent to:QQmlProperty p(object, name, engine); p.read();
- reset()¶
- Return type:
bool
Resets the property and returns true if the property is resettable. If the property is not resettable, nothing happens and false is returned.
- swap(other)¶
- Parameters:
other –
QQmlProperty
Returns the type of the property.
- write(arg__1)¶
- Parameters:
arg__1 – object
- Return type:
bool
Sets the property value to
value
. Returnstrue
on success, orfalse
if the property can’t be set because thevalue
is the wrong type, for example.- static write(arg__1, arg__2, arg__3)
- Parameters:
arg__1 –
QObject
arg__2 – str
arg__3 – object
- Return type:
bool
Writes
value
to thename
property ofobject
. This method is equivalent to:QQmlProperty p(object, name); p.write(value);
Returns
true
on success,false
otherwise.- static write(arg__1, arg__2, arg__3, arg__4)
- Parameters:
arg__1 –
QObject
arg__2 – str
arg__3 – object
arg__4 –
QQmlContext
- Return type:
bool
Writes
value
to thename
property ofobject
using thecontext
ctxt
. This method is equivalent to:QQmlProperty p(object, name, ctxt); p.write(value);
Returns
true
on success,false
otherwise.- static write(arg__1, arg__2, arg__3, arg__4)
- Parameters:
arg__1 –
QObject
arg__2 – str
arg__3 – object
arg__4 –
QQmlEngine
- Return type:
bool
Writes
value
to thename
property ofobject
using the environment for instantiating QML components that is provided byengine
. This method is equivalent to:QQmlProperty p(object, name, engine); p.write(value);
Returns
true
on success,false
otherwise.