PySide6.QtRemoteObjects.QRemoteObjectHostBase¶
- class QRemoteObjectHostBase¶
The
QRemoteObjectHostBaseclass provides base functionality common toHostandRegistryHostclasses.Details
QRemoteObjectHostBaseis a base class that cannot be instantiated directly. It provides theenableRemotinganddisableRemotingfunctionality shared by all host nodes (HostandRegistryHost) as well as the logic required to expose Source objects on the Remote Objects network.Inherited by:
QRemoteObjectRegistryHost,QRemoteObjectHostSynopsis¶
Methods¶
def
enableRemoting()def
proxy()def
reverseProxy()
Virtual methods¶
def
hostUrl()def
setHostUrl()
Note
This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE
- class AllowedSchemas¶
This enum is used to specify whether a Node will accept a url with an unrecognized schema for the hostUrl. By default only urls with known schemas are accepted, but using
AllowExternalRegistrationwill enable the Registry to pass your external (to QtRO) url to client Nodes.Constant
Description
QRemoteObjectHostBase.AllowedSchemas.BuiltInSchemasOnly
Only allow the hostUrl to be set to a QtRO supported schema. This is the default value, and causes a Node error to be set if an unrecognized schema is provided.
QRemoteObjectHostBase.AllowedSchemas.AllowExternalRegistration
The provided schema is registered as an External Schema
See also
In order to
enableRemoting()Source objects over External QIODevices , Qt Remote Objects needs access to the communications channel (a QIODevice) between the respective nodes. It is the addHostSideConnection() call that enables this on the Source side, taking theioDeviceas input. AnyenableRemoting()call will still work without calling addHostSideConnection, but the Node will not be able to share the Source objects without being provided the connection to the Replica node. Before calling this function you must callsetHostUrl() with a unique URL andAllowExternalRegistration.See also
addClientSideConnectionDisables remote access for the QObject
remoteObject. Returnsfalseif the current node is a client node or if theremoteObjectis not registered, and returnstrueif remoting is successfully disabled for the Source object.Warning
Replicas of this object will no longer be valid after calling this method.
See also
Enables a host node to dynamically provide remote access to the QObject
object. Client nodes connected to the node hosting this object may obtain Replicas of this Source.The optional
namedefines the lookup-name under which the QObject can be acquired usingacquire(). If not explicitly set then the name given in the QCLASSINFO_REMOTEOBJECT_TYPE will be used. If no such macro was defined for the QObject then the QObject::objectName() is used.Returns
falseif the current node is a client node, or if the QObject is already registered to be remoted, andtrueif remoting is successfully enabled for the dynamic QObject.See also
- enableRemoting(model, name, roles[, selectionModel=None])
- Parameters:
model –
QAbstractItemModelname – str
roles – .list of int
selectionModel –
QItemSelectionModel
- Return type:
bool
This overload of
enableRemoting()is specific to QAbstractItemModel types (or any type derived from QAbstractItemModel). This is useful if you want to have a model and the HMI for the model in different processes.The three required parameters are the
modelitself, thenameby which to lookup the model, and therolesthat should be exposed on the Replica side. If you want to synchronize selection between Source and Replica , the optionalselectionModelparameter can be used. This is only recommended when using a single Replica.Behind the scenes, Qt Remote Objects batches data() lookups and prefetches data when possible to make the model interaction as responsive as possible.
Returns
falseif the current node is a client node, or if the QObject is already registered to be remoted, andtrueif remoting is successfully enabled for the QAbstractItemModel.See also
- reverseProxy()¶
- Return type:
bool
- setHostUrl(hostAddress[, allowedSchemas=QRemoteObjectHostBase.AllowedSchemas.BuiltInSchemasOnly])¶
- Parameters:
hostAddress –
QUrlallowedSchemas –
AllowedSchemas
- Return type:
bool