The PySide.QtDeclarative.QDeclarativeProperty class abstracts accessing properties on objects created from QML.
As QML uses Qt’s meta-type system all of the existing PySide.QtCore.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 PySide.QtDeclarative.QDeclarativeProperty class that simplifies some of their natural complexity.
Unlike PySide.QtCore.QMetaProperty which represents a property on a class type, PySide.QtDeclarative.QDeclarativeProperty encapsulates a property on a specific object instance. To read a property’s value, programmers create a PySide.QtDeclarative.QDeclarativeProperty instance and call the PySide.QtDeclarative.QDeclarativeProperty.read() method. Likewise to write a property value the PySide.QtDeclarative.QDeclarativeProperty.write() method is used.
For example, for the following QML code:
// MyItem.qml import QtQuick 1.0 Text { text: "A bit of text" }The Text object’s properties could be accessed using PySide.QtDeclarative.QDeclarativeProperty , like this:
#include <QDeclarativeProperty> #include <QGraphicsObject> ... QDeclarativeView view(QUrl::fromLocalFile("MyItem.qml")); QDeclarativeProperty 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();
Parameters: |
|
---|
Create an invalid PySide.QtDeclarative.QDeclarativeProperty .
Creates a PySide.QtDeclarative.QDeclarativeProperty for the default property of obj . If there is no default property, an invalid PySide.QtDeclarative.QDeclarativeProperty will be created.
Creates a PySide.QtDeclarative.QDeclarativeProperty for the default property of obj using the context ctxt . If there is no default property, an invalid PySide.QtDeclarative.QDeclarativeProperty will be created.
Creates a PySide.QtDeclarative.QDeclarativeProperty for the default property of obj using the environment for instantiating QML components that is provided by engine . If there is no default property, an invalid PySide.QtDeclarative.QDeclarativeProperty will be created.
Creates a PySide.QtDeclarative.QDeclarativeProperty for the property name of obj .
Creates a PySide.QtDeclarative.QDeclarativeProperty for the property name of obj using the context ctxt .
Creates a PySide.QtDeclarative.QDeclarativeProperty for the property name of obj using the environment for instantiating QML components that is provided by engine .
Create a copy of other .
This enum specifies a type of QML property.
Constant | Description |
---|---|
QDeclarativeProperty.Invalid | The property is invalid. |
QDeclarativeProperty.Property | The property is a regular Qt property. |
QDeclarativeProperty.SignalProperty | The property is a signal property. |
This enum specifies a category of QML property.
Constant | Description |
---|---|
QDeclarativeProperty.InvalidCategory | The property is invalid, or is a signal property. |
QDeclarativeProperty.List | The property is a QDeclarativeListProperty list property |
QDeclarativeProperty.Object | The property is a PySide.QtCore.QObject derived type pointer |
QDeclarativeProperty.Normal | The property is a normal value property. |
Parameters: |
|
---|---|
Return type: | PySide.QtCore.bool |
Connects the property’s change notifier signal to the specified method of the dest 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 the dest object does not have the specified method .
Parameters: |
|
---|---|
Return type: | PySide.QtCore.bool |
Connects the property’s change notifier signal to the specified slot of the dest 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 the dest object does not have the specified slot .
Return type: | PySide.QtCore.bool |
---|
Returns true if the property has a change notifier signal, otherwise false.
Return type: | PySide.QtCore.int |
---|
Return the Qt metaobject index of the property.
Return type: | PySide.QtCore.bool |
---|
Returns true if the property is designable, otherwise false.
Return type: | PySide.QtCore.bool |
---|
Returns true if this PySide.QtDeclarative.QDeclarativeProperty represents a regular Qt property.
Return type: | PySide.QtCore.bool |
---|
Returns true if the property is resettable, otherwise false.
Return type: | PySide.QtCore.bool |
---|
Returns true if this PySide.QtDeclarative.QDeclarativeProperty represents a QML signal property.
Return type: | PySide.QtCore.bool |
---|
Returns true if the PySide.QtDeclarative.QDeclarativeProperty refers to a valid property, otherwise false.
Return type: | PySide.QtCore.bool |
---|
Returns true if the property is writable, otherwise false.
Return type: | PySide.QtCore.QMetaMethod |
---|
Return the PySide.QtCore.QMetaMethod for this property if it is a SignalProperty , otherwise returns an invalid PySide.QtCore.QMetaMethod .
Return type: | unicode |
---|
Return the name of this QML property.
Return type: | PySide.QtCore.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.
Return type: | PySide.QtCore.QObject |
---|
Returns the PySide.QtDeclarative.QDeclarativeProperty ‘s PySide.QtCore.QObject .
Parameters: | arg__1 – PySide.QtDeclarative.QDeclarativeProperty |
---|---|
Return type: | PySide.QtCore.bool |
Returns true if other and this PySide.QtDeclarative.QDeclarativeProperty represent the same property.
Return type: | PySide.QtCore.QMetaProperty |
---|
Returns the Qt property associated with this QML property.
Return type: | PySide.QtCore.int |
---|
Returns the PySide.QtCore.QVariant type of the property, or QVariant.Invalid if the property has no PySide.QtCore.QVariant type.
Return type: | PySide.QtDeclarative.QDeclarativeProperty.PropertyTypeCategory |
---|
Returns the property category.
Return type: | str |
---|
Returns the type name of the property, or 0 if the property has no type name.
Parameters: |
|
---|---|
Return type: | object |
Return the name property value of object using the environment for instantiating QML components that is provided by engine . . This method is equivalent to:
QDeclarativeProperty p(object, name, engine);
p.read();
Parameters: |
|
---|---|
Return type: | object |
Return the name property value of object using the context ctxt . This method is equivalent to:
QDeclarativeProperty p(object, name, context);
p.read();
Parameters: |
|
---|---|
Return type: | object |
Return the name property value of object . This method is equivalent to:
QDeclarativeProperty p(object, name);
p.read();
Return type: | object |
---|
Returns the property value.
Return type: | PySide.QtCore.bool |
---|
Resets the property and returns true if the property is resettable. If the property is not resettable, nothing happens and false is returned.
Return type: | PySide.QtDeclarative.QDeclarativeProperty.Type |
---|
Returns the type of the property.
Parameters: |
|
---|---|
Return type: | PySide.QtCore.bool |
Writes value to the name property of object using the environment for instantiating QML components that is provided by engine . This method is equivalent to:
QDeclarativeProperty p(object, name, engine);
p.write(value);
Parameters: |
|
---|---|
Return type: | PySide.QtCore.bool |
Writes value to the name property of object . This method is equivalent to:
QDeclarativeProperty p(object, name);
p.write(value);
Parameters: | arg__1 – object |
---|---|
Return type: | PySide.QtCore.bool |
Sets the property value to value and returns true. Returns false if the property can’t be set because the value is the wrong type, for example.
Parameters: |
|
---|---|
Return type: | PySide.QtCore.bool |
Writes value to the name property of object using the context ctxt . This method is equivalent to:
QDeclarativeProperty p(object, name, ctxt);
p.write(value);