QDBusInterface¶
The QDBusInterface
class is a proxy for interfaces on remote objects. More…
Detailed Description¶
QDBusInterface
is a generic accessor class that is used to place calls to remote objects, connect to signals exported by remote objects and get/set the value of remote properties. This class is useful for dynamic access to remote objects: that is, when you do not have a generated code that represents the remote interface.
Calls are usually placed by using the call()
function, which constructs the message, sends it over the bus, waits for the reply and decodes the reply. Signals are connected to by using the normal connect()
function. Finally, properties are accessed using the property()
and setProperty()
functions.
The following code snippet demonstrates how to perform a mathematical operation of "2 + 2"
in a remote application called com.example.Calculator
, accessed via the session bus.
remoteApp( = QDBusInterface() "org.mathematics.RPNCalculator" ) remoteApp.call( "PushOperand", 2 ) remoteApp.call( "PushOperand", 2 ) remoteApp.call( "ExecuteOperation", "+" ) reply = remoteApp.call( "PopOperand" ) if reply.isValid(): printf( "%d", reply.value() ) # prints 4See also
- class PySide6.QtDBus.QDBusInterface(service, path[, interface=""[, connection=QDBusConnection.sessionBus()[, parent=None]]])¶
- Parameters
interface – str
path – str
service – str
connection –
PySide6.QtDBus.QDBusConnection
parent –
PySide6.QtCore.QObject
Creates a dynamic QDBusInterface
object associated with the interface interface
on object at path path
on service service
, using the given connection
. If interface
is an empty string, the object created will refer to the merging of all interfaces found by introspecting that object. Otherwise if interface
is not empty, the QDBusInterface
object will be cached to speedup further creations of the same interface.
parent
is passed to the base class constructor.
If the remote service service
is not present or if an error occurs trying to obtain the description of the remote interface interface
, the object created will not be valid (see isValid()
).
© 2022 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.