PySide6.QtRemoteObjects.QRemoteObjectReplica

class QRemoteObjectReplica

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

PySide6.QtRemoteObjects.QRemoteObjectReplica 的继承图

继承者: QRemoteObjectRegistry, QRemoteObjectDynamicReplica

概要

属性

  • nodeᅟ - 指向获取此对象的节点的指针

  • stateᅟ - 返回副本状态

方法

虚拟方法

信号

注意

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

详细描述

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

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

虽然Qt远程对象(QtRO)处理Replica对象的初始化和同步,但在幕后有许多步骤可能会失败,而这些步骤在单进程Qt应用程序中是不会遇到的。有关在使用远程对象网络时如何处理此类问题的建议,请参见Troubleshooting

class State

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

常量

描述

QRemoteObjectReplica.Uninitialized

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

QRemoteObjectReplica.Default

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

QRemoteObjectReplica.Valid

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

QRemoteObjectReplica.Suspect

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

QRemoteObjectReplica.SignatureMismatch

错误状态,当与源建立连接时发生,但源和副本不是从同一个.rep派生的(仅适用于静态副本)。

注意

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

property nodeᅟ: QRemoteObjectNode

此属性保存指向获取此对象的节点的指针。

Access functions:
property stateᅟ: QRemoteObjectReplica.State

此属性保存返回副本状态。

此属性保存副本State

Access functions:
__init__()
initialize()
initializeNode(node[, name=""])
Parameters:
initialized()

一旦副本初始化完成,就会发出此信号。一个初始化的副本已经设置了所有属性值,但尚未发出任何属性更改通知。

isInitialized()
Return type:

布尔

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

另请参阅

state()

isReplicaValid()
Return type:

布尔

如果此副本已初始化并与托管Sourcenode建立了有效连接,则返回true。否则返回false

另请参阅

isInitialized()

node()
Return type:

QRemoteObjectNode

另请参阅

setNode()

属性 nodeᅟ 的获取器。

notified()

一旦副本初始化并且所有属性更改通知都已发出,就会发出此信号。

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

persistProperties(repName, repSig, props)
Parameters:
  • repName – str

  • repSigQByteArray

  • props – QVariant 的列表

propAsVariant(i)
Parameters:

i – 整数

Return type:

对象

retrieveProperties(repName, repSig)
Parameters:
Return type:

.QVariant 列表

send(call, index, args)
Parameters:
  • callCall

  • index – 整数

  • args – QVariant 的列表

sendWithReply(call, index, args)
Parameters:
  • callCall

  • index – 整数

  • args – QVariant 的列表

Return type:

QRemoteObjectPendingCall

setChild(i, arg__2)
Parameters:
  • i – 整数

  • arg__2 – 对象

setNode(node)
Parameters:

节点QRemoteObjectNode

另请参阅

node()

属性 nodeᅟ 的设置器。

state()
Return type:

State

返回副本的当前state状态。

另请参阅

isInitialized

属性 stateᅟ 的获取器。

stateChanged(state, oldState)
Parameters:

每当副本的状态在State之间切换时,都会发出此信号。

状态的变化用stateoldState表示。

另请参阅

state() initialized()

属性 stateᅟ 的通知信号。

waitForSource([timeout=30000])
Parameters:

timeout – int

Return type:

布尔

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

如果 timeout 是 -1,此函数将不会超时。