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