PySide6.QtRemoteObjects.QRemoteObjectReplica¶
- class QRemoteObjectReplica¶
一个与远程对象网络上的Qt API交互(但不实现)的类。更多…
继承者:
QRemoteObjectRegistry,QRemoteObjectDynamicReplica概要¶
属性¶
方法¶
def
__init__()def
initializeNode()def
isInitialized()def
isReplicaValid()def
node()def
propAsVariant()def
send()def
sendWithReply()def
setChild()def
state()def
waitForSource()
虚拟方法¶
def
initialize()def
setNode()
信号¶
def
initialized()def
notified()def
stateChanged()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
远程对象副本是另一个QObject(称为源对象)的QObject代理。一旦初始化,副本可以被视为源对象的“潜在副本”。也就是说,对源上的Q_PROPERTY的每次更改,或由源发出的信号,都将由所有副本对象更新/发出。延迟由涉及的任何操作系统的进程调度和网络通信延迟引入。只要副本已初始化且通信未中断,更改的接收和顺序是有保证的。
isInitialized和state属性(以及相应的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¶
此属性保存指向获取此对象的节点的指针。
- property stateᅟ: QRemoteObjectReplica.State¶
此属性保存返回副本状态。
此属性保存副本
State。- Access functions:
- __init__()¶
- initialize()¶
- initializeNode(node[, name=""])¶
- Parameters:
节点 –
QRemoteObjectNodename – str
- initialized()¶
一旦副本初始化完成,就会发出此信号。一个初始化的副本已经设置了所有属性值,但尚未发出任何属性更改通知。
- isInitialized()¶
- Return type:
布尔
如果此副本已使用来自Source对象的数据进行初始化,则返回
true。否则返回false。另请参阅
- isReplicaValid()¶
- Return type:
布尔
如果此副本已初始化并与托管Source的
node建立了有效连接,则返回true。否则返回false。另请参阅
- node()¶
- Return type:
另请参阅
属性
nodeᅟ的获取器。- notified()¶
一旦副本初始化并且所有属性更改通知都已发出,就会发出此信号。
有时将属性更改作为事件响应是有用的。例如,当某个属性更改发生时,您可能希望显示用户通知。然而,当副本首次变为
QRemoteObjectReplica::Valid时,此用户通知也会被触发,因为所有属性更改信号都在此时发出。这并不总是可取的,而notified允许开发者区分这两种情况。- persistProperties(repName, repSig, props)¶
- Parameters:
repName – str
repSig –
QByteArrayprops – QVariant 的列表
- propAsVariant(i)¶
- Parameters:
i – 整数
- Return type:
对象
- retrieveProperties(repName, repSig)¶
- Parameters:
repName – str
repSig –
QByteArray
- Return type:
.QVariant 列表
- sendWithReply(call, index, args)¶
- Parameters:
call –
Callindex – 整数
args – QVariant 的列表
- Return type:
- setChild(i, arg__2)¶
- Parameters:
i – 整数
arg__2 – 对象
- setNode(node)¶
- Parameters:
节点 –
QRemoteObjectNode
另请参阅
属性
nodeᅟ的设置器。返回副本的当前
state状态。另请参阅
属性
stateᅟ的获取器。每当副本的状态在
State之间切换时,都会发出此信号。状态的变化用
state和oldState表示。另请参阅
属性
stateᅟ的通知信号。- waitForSource([timeout=30000])¶
- Parameters:
timeout – int
- Return type:
布尔
阻塞调用,等待副本初始化或直到
timeout(以毫秒为单位)到期。如果调用完成时副本已初始化,则返回true,否则返回false。如果
timeout是 -1,此函数将不会超时。