PySide6.QtQuickControls2.QQuickAttachedPropertyPropagator¶
- class QQuickAttachedPropertyPropagator¶
QQuickAttachedPropertyPropagator
类提供了一种传播附加属性的方法。更多…概要¶
方法¶
def
__init__()
def
attachedParent()
def
initialize()
虚拟方法¶
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
在QML中,可以将属性和信号处理程序附加到对象上。提供附加属性详细介绍了如何公开您自己的C++附加类型。
QQuickAttachedPropertyPropagator
提供了一个API,用于将附加属性从父对象传播到其子对象,类似于字体和调色板的传播。它支持通过项目、弹出窗口和窗口进行传播。如果属性的传播不重要,考虑使用C++或QML单例代替,因为它更适合这种使用场景,并且更高效,因为它只需要一个QObject。
要使用
QQuickAttachedPropertyPropagator
:从中派生
在构造函数中调用
initialize()
根据需要为每个属性定义设置/继承/传播/重置函数
重新实现
attachedParentChange()
以处理属性继承实现一个静态的
qmlAttachedProperties
函数,并将该类型声明为带有QML_ELEMENT和QML_ATTACHED的附加QML类型,如提供附加属性中所述
有关深入演示此内容的示例,请参见 Qt Quick Controls - 附加样式属性示例 。
另请参阅
使用给定的
parent
构造一个QQuickAttachedPropertyPropagator
。parent
将用于查找此对象的attached parent
。派生类应在它们的构造函数中调用
initialize()
。- attachedChildren()¶
- Return type:
.list of QQuickAttachedPropertyPropagator
此函数返回此附加对象的附加子对象。
附加的子项用于传播属性值时使用:
- attachedParent()¶
- Return type:
此函数返回此附加对象的附加父对象。
附加的父级用于继承属性值:
- attachedParentChange(newParent, oldParent)¶
- Parameters:
newParent –
QQuickAttachedPropertyPropagator
oldParent –
QQuickAttachedPropertyPropagator
每当此
QQuickAttachedPropertyPropagator
的附加父级从oldParent
更改为newParent
时,都会调用此函数。子类应重新实现此函数以从
newParent
继承附加属性。- initialize()¶
查找并设置此附加对象的附加父对象,然后对其子对象执行相同的操作。必须在附加对象构建时调用此操作,以便传播工作。
在调用此函数之前读取全局/默认值可能很有用。例如,在调用
initialize()
之前,Imagine样式会检查一个静态的“globalsInitialized”标志,以查看是否应从QSettings读取默认值。该文件中的值构成了任何未显式设置的附加属性值的基础。