- class QRemoteObjectHostBase#
QRemoteObjectHostBase
类提供了Host
和RegistryHost
类共有的基功能。...继承自:
QRemoteObjectRegistryHost
,QRemoteObjectHost
摘要#
方法#
定义
proxy()
虚方法#
定义
hostUrl()
定义
setHostUrl()
注
本说明文档可能包含自动从C++转换为Python的代码片段。我们总是欢迎对代码片段翻译的贡献。如果您发现翻译有问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE上创建问题单来通知我们
详细描述#
QRemoteObjectHostBase
是一个不能直接实例化的基类。它提供了所有宿主节点(包括Host
和RegistryHost
)共有的enableRemoting
和disableRemoting
功能,以及公开远程对象网络上源对象的逻辑。- 枚举 AllowedSchemas#
此枚举用于指定节点是否接受包含无法识别的URL方案的hostUrl。默认情况下,仅接受已知方案的URL,但使用
AllowExternalRegistration
将启用注册表将您的QtRO外部URL传递给客户端节点。常数
描述
QRemoteObjectHostBase.BuiltInSchemasOnly
仅允许将hostUrl设置为QtRO支持的方案。这是默认值,如果在提供时出现了无法识别的方案,则会引发节点错误。
QRemoteObjectHostBase.AllowExternalRegistration
提供的方案已注册为外部方案
另请参阅
为了使超过外部QIO设备的源对象启用
enableRemoting()
,Qt远程对象需要访问相关节点之间的通信通道(一个QIODevice)。这是在源端通过addHostSideConnection()调用来启用,并将ioDevice
作为输入。任何enableRemoting()
调用在没有调用addHostSideConnection的情况下仍然可以工作,但节点将无法在没有与副本节点建立连接的情况下共享源对象。在调用此函数之前,必须使用唯一的URL和AllowExternalRegistration
调用setHostUrl
()。禁用QObject
remoteObject
的远程访问。如果当前节点是客户端节点或如果remoteObject
未注册,则返回false
,如果成功禁用源对象的远程访问,则返回true
。- enableRemoting(model, name, roles[, selectionModel=None])#
- 参数:
model –
QAbstractItemModel
name – str
roles – .list of int
selectionModel –
QItemSelectionModel
- 返回类型:
bool
此
enableRemoting()
重载是针对QAbstractItemModel类型(或任何从QAbstractItemModel派生的类型)。如果您希望模型和模型的HMI在不同的进程中,这将非常有用。需要三个参数:分别是模型本身、用于查找模型的
name
,以及在副本端应该公开的roles
。如果要在源和副本之间同步选择,可以使用可选的selectionModel
参数。这仅建议在单个副本的情况下使用。在幕后,Qt Remote Objects批量进行
data()
查找,并在可能的情况下预取数据,以确保模型交互尽可能响应用户操作。如果当前节点是客户端节点,或者 QObject 已经注册为远程节点,则返回
false
;如果成功为 QAbstractItemModel 启用远程功能,则返回true
。另请参阅
- enableRemoting(object[, name=""])
- 参数:
object –
QObject
name – str
- 返回类型:
bool
允许主节点动态地向 QObject
object
提供远程访问。连接到提供此对象的节点的客户端节点可以获取此源复制品。可选的
name
定义了使用acquire()
方法可以获得的 QObject 的查询名称。如果没有明确设置,则使用 QCLASSINFO_REMOTEOBJECT_TYPE 中提供的名称。如果没有为 QObject 定定义此类宏,则使用 QObject::objectName()。如果当前节点是客户端节点,或者 QObject 已经注册为远程节点,则返回
false
;如果为动态 QObject 成功启用远程功能,则返回true
。另请参阅
- hostUrl()
- 返回类型:
- reverseProxy()
- 返回类型:
bool
- setHostUrl(hostAddress[, allowedSchemas=QRemoteObjectHostBase.AllowedSchemas.BuiltInSchemasOnly])
- 参数:
hostAddress –
QUrl
allowedSchemas –
AllowedSchemas
- 返回类型:
bool