class QMetaProperty#

QMetaProperty类提供了关于属性元数据的信息。更多

摘要#

方法#

说明

本文档可能包含从 C++ 自动翻译到 Python 的代码片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译有问题,也可以通过在 https:/bugreports.qt.io/projects/PYSIDE 创建工单来告诉我们。

详细描述#

属性元数据是从对象的元对象获得的。有关详细信息,请参阅property()propertyCount()

属性元数据#

属性有一个 name()和一个type(),以及各种指定其行为的属性:isReadable() , isWritable() , isDesignable() , isScriptable() , revision() , 和 isStored()

如果该属性是枚举类型,isEnumType()返回true;如果属性是一个枚举,同时也是标记(即其值可以使用 OR 运算符组合),isEnumType()isFlagType()都返回true。这些类型的枚举可以从enumerator()获取。

属性的值通过 read()write()reset() 来设置和检索;它们也可以通过 QObject 的设置和获取函数来修改。关于详细信息,请参见 setProperty()property()

复制和赋值#

QMetaProperty 对象可以通过值复制。然而,每个副本都将引用相同的底层属性元数据。

__init__()#
enumerator()#
返回类型::

QMetaEnum

如果此属性的 类型是枚举类型,则返回枚举器;否则返回的值是未定义的。

hasNotifySignal()#
返回类型::

布尔值

如果此属性具有相应的更改通知信号,则返回 true;否则返回 false

hasStdCppSet()#
返回类型::

布尔值

isAlias()#
返回类型::

布尔值

isBindable)#
返回类型::

布尔值

如果 Q_PROPERTY()公开绑定功能,则返回 true;否则返回 flase。

这意味着你可以创建使用该属性作为依赖的绑定,或者在该属性上安装QPropertyObserver对象。除非该属性是只读的,否则你也可以设置该属性的绑定。

参见

QProperty isWritable() bindable()

isConstant()#
返回类型::

布尔值

如果属性是常量则返回true,否则返回false

如果一个属性是常量,那么在Q_PROPERTY()中设置了CONSTANT属性。

isDesignable()#
返回类型::

布尔值

如果Q_PROPERTY()DESIGNABLE属性为false则返回false;否则返回true

isEnumType()#
返回类型::

布尔值

如果属性的类型是枚举值,则返回true,否则返回false

isFinal()#
返回类型::

布尔值

如果属性是最终的,则返回true,否则返回false

如果一个属性是最终的,则在Q_PROPERTY()中设置了FINAL属性。

isFlagType()#
返回类型::

布尔值

如果属性的类型是用作标志的枚举值,则返回true,否则返回false

标志可以组合使用“或”运算符。标志类型隐式也是枚举类型。

isReadable()#
返回类型::

布尔值

如果此属性可读,则返回 true;否则返回 false

isRequired()#
返回类型::

布尔值

如果属性是必需的,则返回 true;否则返回 false

如果 Q_PROPERTY()REQUIRED 属性被设置,属性是最终的。

isResettable()#
返回类型::

布尔值

如果此属性可以重置为默认值,则返回 true;否则返回 false

参见

reset()

isScriptable()#
返回类型::

布尔值

如果 Q_PROPERTY()SCRIPTABLE 属性为假,则返回 false;否则返回 true。

isStored()#
返回类型::

布尔值

如果属性已存储,则返回 true;否则返回 false。

如果 Q_PROPERTY()STORED 属性为假,则此函数返回 false;否则返回 true。

isUser()#
返回类型::

布尔值

如果 Q_PROPERTY()USER 属性为假,则返回 false。否则返回 true,表示该属性被指定为 USER 属性,即用户可以编辑的或以某种其他方式重要的属性。

isValid()#
返回类型::

布尔值

如果此属性有效(可读),则返回 true;否则返回 false

参见

isReadable()

isWritable()#
返回类型::

布尔值

如果此属性可写,则返回 true;否则返回 false。

metaType()#
返回类型::

QMetaType

返回此属性的 QMetaType

参见

QMetaType

name()#
返回类型::

str

返回此属性的名称。

参见

type() typeName()

notifySignal()#
返回类型::

QMetaMethod

如果指定了属性更改通知信号,则返回该属性的 QMetaMethod 实例;否则返回一个无效的 QMetaMethod

notifySignalIndex()#
返回类型::

int

如果指定了属性更改通知信号,则返回该信号的索引,否则返回 -1。

propertyIndex()#
返回类型::

int

返回此属性索引。

read(obj)#
参数:

objQObject

返回类型::

对象

从指定的 object 中读取属性的值。如果成功读取,则返回值;否则返回无效的变体。

readOnGadget(gadget)#
参数:

gadgetvoid

返回类型::

对象

从指定的 gadget 中读取属性的值。如果成功读取,则返回值;否则返回无效的变体。

只有当这是 Q_GADGET 的属性时,才应使用此函数。

relativePropertyIndex()#
返回类型::

int

返回此属性在包含的元对象中的索引。

reset(obj)#
参数:

objQObject

返回类型::

布尔值

使用回置方法重置给定 object 的属性。如果回置成功,则返回 true;否则返回 false

回置方法是可选的;只有少数属性支持它们。

参见

read() write()

resetOnGadget(gadget)#
参数:

gadgetvoid

返回类型::

布尔值

使用回置方法重置给定 gadget 的属性。如果回置成功,则返回 true;否则返回 false

回置方法是可选的;只有少数属性支持它们。

只有当这是 Q_GADGET 的属性时,才应使用此函数。

revision()#
返回类型::

int

如果指定了 REVISION,则返回属性修订版,否则返回 0。

typeId()#
返回类型::

int

返回属性的存储类型。这与 metaType() .id() 相同。

typeName()#
返回类型::

str

返回此属性类型的名称。

参见

type() name()

userType()#
返回类型::

int

返回此属性的用戶类型。返回值是QMetaType注册的其中一个值。

这等价于metaType().id()。

write(obj, value)#
参数:
返回类型::

布尔值

value作为属性值写入给定的object。如果写入成功则返回true;否则返回false

如果value的类型与属性类型不同,则尝试转换。一个空的QVariant()相当于调用reset()(如果此属性可重置),否则设置为默认构造的对象。

说明

此函数内部对value进行复制。尽可能使用rvalue重载。

writeOnGadget(gadget, value)#
参数:
  • gadgetvoid

  • value – object

返回类型::

布尔值

value 作为属性值写入给定的 gadget。如果写操作成功返回 true;否则返回 false

只有当这是 Q_GADGET 的属性时,才应使用此函数。