class QRemoteObjectHostBase#

QRemoteObjectHostBase 类提供了 HostRegistryHost 类共有的基功能。...

Inheritance diagram of PySide6.QtRemoteObjects.QRemoteObjectHostBase

继承自:QRemoteObjectRegistryHostQRemoteObjectHost

摘要#

方法#

虚方法#

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

详细描述#

QRemoteObjectHostBase是一个不能直接实例化的基类。它提供了所有宿主节点(包括HostRegistryHost)共有的enableRemotingdisableRemoting功能,以及公开远程对象网络上对象的逻辑。

枚举 AllowedSchemas#

此枚举用于指定节点是否接受包含无法识别的URL方案的hostUrl。默认情况下,仅接受已知方案的URL,但使用AllowExternalRegistration将启用注册表将您的QtRO外部URL传递给客户端节点。

常数

描述

QRemoteObjectHostBase.BuiltInSchemasOnly

仅允许将hostUrl设置为QtRO支持的方案。这是默认值,如果在提供时出现了无法识别的方案,则会引发节点错误。

QRemoteObjectHostBase.AllowExternalRegistration

提供的方案已注册为外部方案

另请参阅

QRemoteObjectHost

addHostSideConnection(ioDevice)#
参数:

ioDeviceQIODevice

为了使超过外部QIO设备对象启用enableRemoting(),Qt远程对象需要访问相关节点之间的通信通道(一个QIODevice)。这是在端通过addHostSideConnection()调用来启用,并将ioDevice作为输入。任何enableRemoting()调用在没有调用addHostSideConnection的情况下仍然可以工作,但节点将无法在没有与副本节点建立连接的情况下共享对象。在调用此函数之前,必须使用唯一的URL和AllowExternalRegistration调用setHostUrl ()。

disableRemoting(remoteObject)#
参数:

remoteObjectQObject

返回类型:

bool

禁用QObject remoteObject的远程访问。如果当前节点是客户端节点或如果remoteObject未注册,则返回false,如果成功禁用源对象的远程访问,则返回true

警告

调用此方法后,此对象的副本将不再有效。

另请参阅

enableRemoting()

enableRemoting(model, name, roles[, selectionModel=None])#
参数:
返回类型:

bool

enableRemoting()重载是针对QAbstractItemModel类型(或任何从QAbstractItemModel派生的类型)。如果您希望模型和模型的HMI在不同的进程中,这将非常有用。

需要三个参数:分别是模型本身、用于查找模型的 name,以及在副本端应该公开的 roles。如果要在副本之间同步选择,可以使用可选的 selectionModel 参数。这仅建议在单个副本的情况下使用。

在幕后,Qt Remote Objects批量进行 data() 查找,并在可能的情况下预取数据,以确保模型交互尽可能响应用户操作。

如果当前节点是客户端节点,或者 QObject 已经注册为远程节点,则返回 false;如果成功为 QAbstractItemModel 启用远程功能,则返回 true

另请参阅

disableRemoting()

enableRemoting(object[, name=""])
参数:
返回类型:

bool

允许主节点动态地向 QObject object 提供远程访问。连接到提供此对象的节点的客户端节点可以获取此源复制品。

可选的 name 定义了使用 acquire() 方法可以获得的 QObject 的查询名称。如果没有明确设置,则使用 QCLASSINFO_REMOTEOBJECT_TYPE 中提供的名称。如果没有为 QObject 定定义此类宏,则使用 QObject::objectName()。

如果当前节点是客户端节点,或者 QObject 已经注册为远程节点,则返回 false;如果为动态 QObject 成功启用远程功能,则返回 true

另请参阅

disableRemoting()

hostUrl()
返回类型:

QUrl

proxy(registryUrl[, hostUrl={}])
参数:
返回类型:

bool

reverseProxy()
返回类型:

bool

setHostUrl(hostAddress[, allowedSchemas=QRemoteObjectHostBase.AllowedSchemas.BuiltInSchemasOnly])
参数:
返回类型:

bool