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
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 4
- class PySide6.QtDBus.QDBusInterface(service, path[, interface=""[, connection=QDBusConnection.sessionBus()[, parent=None]]])#
Creates a dynamic
QDBusInterface object associated with the interface
interface on object at path
path on service
service, using the given
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