QDBusInterface Class Reference
[QtDBus module]
该QDBusInterface类是对远程对象接口的代理。More…
Methods
__init__ (self, QString service, QString path, QString interface = QString(), QDBusConnection connection = QDBusConnection.sessionBus(), QObject parent = None)
Detailed Description
该QDBusInterface类是对远程对象接口的代理。
QDBusInterface是用来放置调用远程对象,连接到远程对象导出的信号,并获取/设置远程属性值的通用方法类。这个类是动态访问远程对象很有用:即当你没有一个生成代码,表示该远程接口。
呼叫通常放置使用call( )函数,它构造消息,发送过来的大巴,等待答复和解码的答复。信号是通过使用正常连接到QObject.connect()函数。最后,属性是使用访问QObject.property()和QObject.setProperty()函数。
下面的代码片断演示了如何执行数学运算"2 + 2"
在所谓的远程应用程序com.example.Calculator
通过会话总线,访问。
QDBusInterface remoteApp( "com.example.Calculator", "/Calculator/Operations",
"org.mathematics.RPNCalculator" );
remoteApp.call( "PushOperand", 2 );
remoteApp.call( "PushOperand", 2 );
remoteApp.call( "ExecuteOperation", "+" );
[QDBusReply](qdbusreply.html)<int> reply = remoteApp.call( "PopOperand" );
if ( reply.isValid() )
printf( "%d", reply.value() ); // prints 4
Method Documentation
QDBusInterface.__init__ (self, QString service, QString path, QString interface = QString(), QDBusConnection connection = QDBusConnection.sessionBus(), QObject parent = None)
创建一个动态QDBusInterface与接口相关联的对象interface在对路径物件path对服务service,使用给定的connection。如果interface是一个空字符串,创建的对象将引用该对象中找到的所有接口的合并。
parent传递给基类构造函数。
如果该远程服务service不存在,或者如果发生错误试图获取远程接口的描述interface,创建的对象将是无效的(见isValid())。