class QRemoteObjectReplica#

一个与远程对象网络上的 Qt API 交互的类(但不实现)。更多

Inheritance diagram of PySide6.QtRemoteObjects.QRemoteObjectReplica

继承自: QRemoteObjectRegistry, QRemoteObjectDynamicReplica

摘要#

属性#

  • node - 指向获取此对象所在的节点

  • state - 返回副本状态

方法#

虚拟方法#

信号#

备注

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

详细描述#

远程对象副本是一种QObject代理,用于代表另一个QObject(称为源对象)。一旦初始化,副本可以被视为源对象的“潜在副本”。也就是说,对源对象上的Q_PROPERTY或由源对象发出的信号的任何更改都将在所有副本对象中更新/发出。由于涉及操作系统的进程调度和网络通信延迟,因此会引入延迟。只要副本已初始化且通信未中断,就保证更改的接收和顺序。

isInitializedstate属性(以及相应的initialized() / stateChanged()信号)允许确定副本的状态。

尽管Qt远程对象(QtRO)处理副本对象的初始化和同步,但幕后还有许多步骤可能会失败,而这些在单进程Qt应用程序中是不会遇到的。有关如何处理使用远程对象网络时出现此类问题的建议,请参阅故障排除

class State#

此枚举类型指定与QRemoteObjectReplica状态相关的各种状态代码

常量

描述

QRemoteObjectReplica.Uninitialized

DynamicReplica的初始值,在连接到源之前对副本一无所知。

QRemoteObjectReplica.Default

静态副本的初始值,其中包含在.rep文件中设置的任何默认值,在必要时可以使用。

QRemoteObjectReplica.Valid

表示副本已连接,具有良好的属性值,可以与之交互。

QRemoteObjectReplica.Suspect

如果在初始化后丢失与源的连接,将会发生的错误状态。

QRemoteObjectReplica.SignatureMismatch

如果已与源建立连接,但源和副本不是从同一个.rep派生的(仅在静态副本中可能发生),将会发生的错误状态。

备注

可以使用from __feature__ import true_property时直接使用属性,否则通过访问器函数。

属性 node: QRemoteObjectNode#

此属性包含指向通过此对象获取的节点的指针。

访问函数
属性 state: QRemoteObjectReplica.State#

此属性包含返回副本状态。

此属性包含副本的 State

访问函数
__init__()#
initialize()#
initializeNode(node[, name=""])#
参数:
initialized()#

该信号在副本初始化后会发出一次。初始化后的副本已设置所有属性值,但尚未发出任何属性更改通知。

isInitialized()#
返回类型:

布尔值

如果此副本已经使用来自 对象的数据初始化,则返回 true。否则返回 false

另请参阅

state()

isReplicaValid()#
返回类型:

布尔值

当此副本已初始化并且与托管node 建立有效连接时,返回 true。否则返回 false

另请参阅

isInitialized()

node()
返回类型:

QRemoteObjectNode

另请参阅

setNode()

属性 node 的 getter。

notified

当副本初始化并发出所有属性更改通知后,会 emits 该信号。

有时将属性更改作为事件响应很有用。例如,您可能希望当发生特定的属性更改时显示用户通知。然而,当副本首次变为 QRemoteObjectReplica::Valid 时,也会触发此用户通知,因为当时会 emission 所有属性更改信号。这并不总是理想的,而 notified 允许开发者区分这两种情况。

persistProperties(repName, repSig, props)
参数:
  • repName – str

  • repSigQByteArray

  • props – .list of QVariant

propAsVariant(i)
参数:

i – int

返回类型:

object

retrieveProperties(repName, repSig)
参数:
返回类型:

.list of QVariant

send(call, index, args)
参数:
  • callCall

  • index – int

  • args – .list of QVariant

sendWithReply(call, index, args)
参数:
  • callCall

  • index – int

  • args – .list of QVariant

返回类型:

QRemoteObjectPendingCall

setChild(i, arg__2)
参数:
  • i – int

  • arg__2 – object

setNode(node)#
参数:

nodeQRemoteObjectNode

另请参阅

node()

属性 node 的设置器。

state()#
返回类型:

状态

返回复制品的当前 state

另请参阅

isInitialized

属性 state 的获取器。

stateChanged(state, oldState)#
参数:

每当复制品的状态在 State 间切换时,都会发出此信号。

状态的变化由 stateoldState 表示。

另请参阅

state() initialized()

属性 state 的通知信号。

waitForSource([timeout=30000])#
参数:

timeout – int

返回类型:

布尔值

阻塞调用,等待复制品初始化或直到超时时间(以毫秒为单位)到期。如果调用完成时复制品已初始化,则返回 true,否则返回 false

如果 timeout 为 -1,则此函数不会超时。