![]() |
Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
|
The QtVariantPropertyManager class provides and manages QVariant based properties. More...
#include <qtvariantproperty_p.h>
Public Slots | |
virtual void | setValue (QtProperty *property, const QVariant &val) |
Sets the value of the given property to value. | |
virtual void | setAttribute (QtProperty *property, const QString &attribute, const QVariant &value) |
Sets the value of the specified attribute of the given property, to value. | |
![]() | |
void | deleteLater () |
\threadsafe | |
Signals | |
void | valueChanged (QtProperty *property, const QVariant &val) |
This signal is emitted whenever a property created by this manager changes its value, passing a pointer to the property and the new value as parameters. | |
void | attributeChanged (QtProperty *property, const QString &attribute, const QVariant &val) |
This signal is emitted whenever an attribute of a property created by this manager changes its value, passing a pointer to the property, the attribute and the new value as parameters. | |
![]() | |
void | propertyInserted (QtProperty *property, QtProperty *parent, QtProperty *after) |
This signal is emitted when a new subproperty is inserted into an existing property, passing pointers to the newProperty, parentProperty and precedingProperty as parameters. | |
void | propertyChanged (QtProperty *property) |
This signal is emitted whenever a property's data changes, passing a pointer to the property as parameter. | |
void | propertyRemoved (QtProperty *property, QtProperty *parent) |
This signal is emitted when a subproperty is removed, passing pointers to the removed property and the parent property as parameters. | |
void | propertyDestroyed (QtProperty *property) |
This signal is emitted when the specified property is about to be destroyed. | |
![]() | |
void | destroyed (QObject *=nullptr) |
This signal is emitted immediately before the object obj is destroyed, after any instances of QPointer have been notified, and cannot be blocked. | |
void | objectNameChanged (const QString &objectName, QPrivateSignal) |
This signal is emitted after the object's name has been changed. | |
Public Member Functions | |
QtVariantPropertyManager (QObject *parent=nullptr) | |
Creates a manager with the given parent. | |
~QtVariantPropertyManager () override | |
Destroys this manager, and all the properties it has created. | |
virtual QtVariantProperty * | addProperty (int propertyType, const QString &name=QString()) |
Creates and returns a variant property of the given propertyType with the given name. | |
int | propertyType (const QtProperty *property) const |
Returns the given property's type. | |
int | valueType (const QtProperty *property) const |
Returns the given property's value type. | |
QtVariantProperty * | variantProperty (const QtProperty *property) const |
Returns the given property converted into a QtVariantProperty. | |
virtual bool | isPropertyTypeSupported (int propertyType) const |
Returns true if the given propertyType is supported by this variant manager; otherwise false. | |
virtual int | valueType (int propertyType) const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Returns the value type associated with the given propertyType. | |
virtual QStringList | attributes (int propertyType) const |
Returns a list of the given propertyType 's attributes. | |
virtual int | attributeType (int propertyType, const QString &attribute) const |
Returns the type of the specified attribute of the given propertyType. | |
virtual QVariant | value (const QtProperty *property) const |
Returns the given property's value. | |
virtual QVariant | attributeValue (const QtProperty *property, const QString &attribute) const |
Returns the given property's value for the specified attribute. | |
![]() | |
QtAbstractPropertyManager (QObject *parent=nullptr) | |
Creates an abstract property manager with the given parent. | |
~QtAbstractPropertyManager () override | |
Destroys the manager. | |
QSet< QtProperty * > | properties () const |
Returns the set of properties created by this manager. | |
void | clear () const |
Destroys all the properties that this manager has created. | |
QtProperty * | addProperty (const QString &name=QString()) |
Creates a property with the given name which then is owned by this manager. | |
![]() | |
Q_INVOKABLE | QObject (QObject *parent=nullptr) |
Constructs an object with parent object parent. | |
virtual | ~QObject () |
Destroys the object, deleting all its child objects. | |
virtual bool | event (QEvent *event) |
This virtual function receives events to an object and should return true if the event e was recognized and processed. | |
virtual bool | eventFilter (QObject *watched, QEvent *event) |
Filters events if this object has been installed as an event filter for the watched object. | |
QString | objectName () const |
Q_WEAK_OVERLOAD void | setObjectName (const QString &name) |
Sets the object's name to name. | |
void | setObjectName (QAnyStringView name) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
QBindable< QString > | bindableObjectName () |
bool | isWidgetType () const |
Returns true if the object is a widget; otherwise returns false . | |
bool | isWindowType () const |
Returns true if the object is a window; otherwise returns false . | |
bool | isQuickItemType () const |
Returns true if the object is a QQuickItem; otherwise returns false . | |
bool | signalsBlocked () const noexcept |
Returns true if signals are blocked; otherwise returns false . | |
bool | blockSignals (bool b) noexcept |
If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). | |
QThread * | thread () const |
Returns the thread in which the object lives. | |
bool | moveToThread (QThread *thread QT6_DECL_NEW_OVERLOAD_TAIL) |
Changes the thread affinity for this object and its children and returns true on success. | |
int | startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer) |
This is an overloaded function that will start a timer of type timerType and a timeout of interval milliseconds. | |
int | startTimer (std::chrono::nanoseconds time, Qt::TimerType timerType=Qt::CoarseTimer) |
void | killTimer (int id) |
Kills the timer with timer identifier, id. | |
void | killTimer (Qt::TimerId id) |
template<typename T> | |
T | findChild (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
Returns the child of this object that can be cast into type T and that is called name, or \nullptr if there is no such object. | |
template<typename T> | |
QList< T > | findChildren (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects. | |
template<typename T> | |
T | findChild (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
template<typename T> | |
QList< T > | findChildren (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
const QObjectList & | children () const |
Returns a list of child objects. | |
void | setParent (QObject *parent) |
Makes the object a child of parent. | |
void | installEventFilter (QObject *filterObj) |
Installs an event filter filterObj on this object. | |
void | removeEventFilter (QObject *obj) |
Removes an event filter object obj from this object. | |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const |
bool | disconnect (const char *signal=nullptr, const QObject *receiver=nullptr, const char *member=nullptr) const |
bool | disconnect (const QObject *receiver, const char *member=nullptr) const |
void | dumpObjectTree () const |
Dumps a tree of children to the debug output. | |
void | dumpObjectInfo () const |
Dumps information about signal connections, etc. | |
bool | setProperty (const char *name, const QVariant &value) |
Sets the value of the object's name property to value. | |
bool | setProperty (const char *name, QVariant &&value) |
QVariant | property (const char *name) const |
Returns the value of the object's name property. | |
QList< QByteArray > | dynamicPropertyNames () const |
QBindingStorage * | bindingStorage () |
const QBindingStorage * | bindingStorage () const |
QObject * | parent () const |
Returns a pointer to the parent object. | |
bool | inherits (const char *classname) const |
Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false . | |
Static Public Member Functions | |
static int | enumTypeId () |
Returns the type id for an enum property. | |
static int | flagTypeId () |
Returns the type id for a flag property. | |
static int | groupTypeId () |
Returns the type id for a group property. | |
static int | iconMapTypeId () |
Returns the type id for a icon map attribute. | |
![]() | |
static QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection) |
\threadsafe | |
static QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection) |
template<typename Func1, typename Func2> | |
static QMetaObject::Connection | connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::ContextTypeForFunctor< Func2 >::ContextType *context, Func2 &&slot, Qt::ConnectionType type=Qt::AutoConnection) |
template<typename Func1, typename Func2> | |
static QMetaObject::Connection | connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, Func2 &&slot) |
static bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member) |
\threadsafe | |
static bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member) |
static bool | disconnect (const QMetaObject::Connection &) |
Disconnect a connection. | |
template<typename Func1, typename Func2> | |
static bool | disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiver, Func2 slot) |
template<typename Func1> | |
static bool | disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const QObject *receiver, void **zero) |
Protected Member Functions | |
bool | hasValue (const QtProperty *property) const override |
QString | valueText (const QtProperty *property) const override |
QIcon | valueIcon (const QtProperty *property) const override |
void | initializeProperty (QtProperty *property) override |
void | uninitializeProperty (QtProperty *property) override |
QtProperty * | createProperty () override |
![]() | |
QObject * | sender () const |
Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns \nullptr. | |
int | senderSignalIndex () const |
int | receivers (const char *signal) const |
Returns the number of receivers connected to the signal. | |
bool | isSignalConnected (const QMetaMethod &signal) const |
virtual void | timerEvent (QTimerEvent *event) |
This event handler can be reimplemented in a subclass to receive timer events for the object. | |
virtual void | childEvent (QChildEvent *event) |
This event handler can be reimplemented in a subclass to receive child events. | |
virtual void | customEvent (QEvent *event) |
This event handler can be reimplemented in a subclass to receive custom events. | |
virtual void | connectNotify (const QMetaMethod &signal) |
virtual void | disconnectNotify (const QMetaMethod &signal) |
QObject (QObjectPrivate &dd, QObject *parent=nullptr) | |
Additional Inherited Members | |
![]() | |
QScopedPointer< QObjectData > | d_ptr |
![]() | |
QString | objectName |
the name of this object | |
![]() | |
template< class T > T | qobject_cast (const QObject *object) |
Returns the given object cast to type T if the object is of type T (or of a subclass); otherwise returns \nullptr. | |
template< typename T > T | qFindChildqFindChildren (const QObject *obj, const QString &name)() |
template< typename T > QList< T > | qFindChildrenqFindChildren (const QObject *obj, const QString &name)() |
QObjectList | |
\macro Q_CLASSINFO(Name, Value) | |
The QtVariantPropertyManager class provides and manages QVariant based properties.
\inmodule QtDesigner
QtVariantPropertyManager provides the addProperty() function which creates QtVariantProperty objects. The QtVariantProperty class is a convenience class handling QVariant based properties inheriting QtProperty. A QtProperty object created by a QtVariantPropertyManager instance can be converted into a QtVariantProperty object using the variantProperty() function.
The property's value can be retrieved using the value(), and set using the setValue() slot. In addition the property's type, and the type of its value, can be retrieved using the propertyType() and valueType() functions respectively.
A property's type is a QMetaType::QType enumerator value, and usually a property's type is the same as its value type. But for some properties the types differ, for example for enums, flags and group types in which case QtVariantPropertyManager provides the enumTypeId(), flagTypeId() and groupTypeId() functions, respectively, to identify their property type (the value types are QMetaType::Int for the enum and flag types, and QMetaType::UnknownType for the group type).
Use the isPropertyTypeSupported() function to check if a particular property type is supported. The currently supported property types are:
\table \header
Each property type can provide additional attributes, e.g. QMetaType::Int and QMetaType::Double provides minimum and maximum values. The currently supported attributes are:
\table \header
int
double
enum
flag
The attributes for a given property type can be retrieved using the attributes() function. Each attribute has a value type which can be retrieved using the attributeType() function, and a value accessible through the attributeValue() function. In addition, the value can be set using the setAttribute() slot.
QtVariantManager also provides the valueChanged() signal which is emitted whenever a property created by this manager change, and the attributeChanged() signal which is emitted whenever an attribute of such a property changes.
Definition at line 46 of file qtvariantproperty_p.h.
QtVariantPropertyManager::QtVariantPropertyManager | ( | QObject * | parent = nullptr | ) |
Creates a manager with the given parent.
Definition at line 878 of file qtvariantproperty.cpp.
References QtDoublePropertyManager::decimalsChanged(), QtPointFPropertyManager::decimalsChanged(), enumTypeId(), flagTypeId(), groupTypeId(), QtAbstractPropertyManager::propertyRemoved(), QtDatePropertyManager::rangeChanged(), QtDoublePropertyManager::rangeChanged(), QtIntPropertyManager::rangeChanged(), QtStringPropertyManager::regExpChanged(), QtDoublePropertyManager::singleStepChanged(), and QtIntPropertyManager::singleStepChanged().
|
override |
Destroys this manager, and all the properties it has created.
Definition at line 1272 of file qtvariantproperty.cpp.
References QtAbstractPropertyManager::clear().
|
virtual |
Creates and returns a variant property of the given propertyType with the given name.
If the specified propertyType is not supported by this variant manager, this function returns 0.
Do not use the inherited QtAbstractPropertyManager::addProperty() function to create a variant property (that function will always return 0 since it will not be clear what type the property should have).
Definition at line 1318 of file qtvariantproperty.cpp.
References isPropertyTypeSupported(), and variantProperty().
|
signal |
This signal is emitted whenever an attribute of a property created by this manager changes its value, passing a pointer to the property, the attribute and the new value as parameters.
|
virtual |
Returns a list of the given propertyType 's attributes.
Reimplemented in qdesigner_internal::DesignerPropertyManager.
Definition at line 1546 of file qtvariantproperty.cpp.
|
virtual |
Returns the type of the specified attribute of the given propertyType.
If the given propertyType is not supported by this manager, or if the given propertyType does not possess the specified attribute, this function returns QMetaType::UnknownType.
Reimplemented in qdesigner_internal::DesignerPropertyManager.
Definition at line 1564 of file qtvariantproperty.cpp.
|
virtual |
Returns the given property's value for the specified attribute.
If the given property was not created by this manager, or if the specified attribute does not exist, this function returns an invalid variant.
Reimplemented in qdesigner_internal::DesignerPropertyManager.
Definition at line 1448 of file qtvariantproperty.cpp.
References QtProperty::propertyManager(), and propertyType().
|
overrideprotectedvirtual |
Reimplemented from QtAbstractPropertyManager.
Definition at line 1861 of file qtvariantproperty.cpp.
References QtVariantProperty::QtVariantProperty().
|
static |
Returns the type id for an enum property.
Note that the property's value type can be retrieved using the valueType() function (which is QMetaType::Int for the enum property type).
Definition at line 55 of file qtvariantproperty.cpp.
Referenced by QtVariantEditorFactory::QtVariantEditorFactory(), QtVariantPropertyManager(), QtVariantPropertyManagerPrivate::internalPropertyToType(), and qdesigner_internal::PropertyEditor::setObject().
|
static |
Returns the type id for a flag property.
Note that the property's value type can be retrieved using the valueType() function (which is QMetaType::Int for the flag property type).
Definition at line 69 of file qtvariantproperty.cpp.
Referenced by QtVariantPropertyManager().
|
static |
Returns the type id for a group property.
Note that the property's value type can be retrieved using the valueType() function (which is QMetaType::UnknownType for the group property type, since it doesn't provide any value).
Definition at line 83 of file qtvariantproperty.cpp.
Referenced by QtVariantPropertyManager(), hasValue(), and qdesigner_internal::PropertyEditor::setObject().
|
overrideprotectedvirtual |
Reimplemented from QtAbstractPropertyManager.
Definition at line 1781 of file qtvariantproperty.cpp.
References groupTypeId(), and propertyType().
|
static |
Returns the type id for a icon map attribute.
Note that the property's attribute type can be retrieved using the attributeType() function.
Definition at line 96 of file qtvariantproperty.cpp.
|
overrideprotectedvirtual |
Implements QtAbstractPropertyManager.
Definition at line 1809 of file qtvariantproperty.cpp.
References variantProperty().
|
virtual |
Returns true if the given propertyType is supported by this variant manager; otherwise false.
Reimplemented in qdesigner_internal::DesignerPropertyManager.
Definition at line 1299 of file qtvariantproperty.cpp.
Referenced by addProperty().
int QtVariantPropertyManager::propertyType | ( | const QtProperty * | property | ) | const |
Returns the given property's type.
Definition at line 1430 of file qtvariantproperty.cpp.
Referenced by attributeValue(), QtVariantEditorFactory::createEditor(), hasValue(), and valueType().
|
virtualslot |
Sets the value of the specified attribute of the given property, to value.
The new value's type must be of the type returned by attributeType(), or of a type that can be converted to attributeType() using the QVariant::canConvert() function, otherwise this function does nothing.
Definition at line 1689 of file qtvariantproperty.cpp.
References QtProperty::propertyManager().
|
virtualslot |
Sets the value of the given property to value.
The specified value must be of a type returned by valueType(), or of type that can be converted to valueType() using the QVariant::canConvert() function, otherwise this function does nothing.
Definition at line 1589 of file qtvariantproperty.cpp.
References QtProperty::propertyManager(), and valueType().
|
overrideprotectedvirtual |
Reimplemented from QtAbstractPropertyManager.
Definition at line 1838 of file qtvariantproperty.cpp.
|
virtual |
Returns the given property's value.
If the given property is not managed by this manager, this function returns an invalid variant.
Reimplemented in qdesigner_internal::DesignerPropertyManager.
Definition at line 1344 of file qtvariantproperty.cpp.
References QtProperty::propertyManager().
|
signal |
This signal is emitted whenever a property created by this manager changes its value, passing a pointer to the property and the new value as parameters.
|
overrideprotectedvirtual |
Reimplemented from QtAbstractPropertyManager.
Definition at line 1800 of file qtvariantproperty.cpp.
|
overrideprotectedvirtual |
Reimplemented from QtAbstractPropertyManager.
Definition at line 1791 of file qtvariantproperty.cpp.
int QtVariantPropertyManager::valueType | ( | const QtProperty * | property | ) | const |
Returns the given property's value type.
Definition at line 1407 of file qtvariantproperty.cpp.
References propertyType(), and valueType().
Referenced by setValue().
|
virtual |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Returns the value type associated with the given propertyType.
Reimplemented in qdesigner_internal::DesignerPropertyManager.
Definition at line 1418 of file qtvariantproperty.cpp.
Referenced by valueType().
QtVariantProperty * QtVariantPropertyManager::variantProperty | ( | const QtProperty * | property | ) | const |
Returns the given property converted into a QtVariantProperty.
If the property was not created by this variant manager, the function returns 0.
Definition at line 1285 of file qtvariantproperty.cpp.
Referenced by addProperty(), initializeProperty(), qdesigner_internal::FontPropertyManager::postInitializeProperty(), qdesigner_internal::FontPropertyManager::resetFontSubProperty(), qdesigner_internal::BrushPropertyManager::setValue(), qdesigner_internal::FontPropertyManager::setValue(), and qdesigner_internal::BrushPropertyManager::valueChanged().