Home · All Classes · Modules  · QSS HELP  · QSS 案例 · VER007 HOME

QDBusAbstractInterface Class Reference
[QtDBus module]

该QDBusAbstractInterface类是在所有的D-Bus接口的基类QtDBus对远程接口绑定,允许访问More...

继承QObject

通过继承QDBusConnectionInterfaceQDBusInterface

Methods


Detailed Description

该QDBusAbstractInterface类是在所有的D-Bus接口的基类QtDBus对远程接口绑定,允许访问

生成的代码类也从QDBusAbstractInterface派生,这里所描述的所有方法也适用于生成代码的类。除了这里描述的那些生成代码的类提供对远程方法的成员函数,它允许对正确的参数编译时检查和返回值,以及物业类型匹配和信号参数匹配。


Method Documentation

QDBusAbstractInterface.__init__ (self, QString service, QString path, str interface, QDBusConnection connection, QObject parent)

parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。

QDBusPendingCall QDBusAbstractInterface.asyncCall (self, QString method, QVariant arg1 = QVariant(), QVariant arg2 = QVariant(), QVariant arg3 = QVariant(), QVariant arg4 = QVariant(), QVariant arg5 = QVariant(), QVariant arg6 = QVariant(), QVariant arg7 = QVariant(), QVariant arg8 = QVariant())

调用该方法method在该接口上,并传递参数给此函数的方法。

的参数,以call被传递到通过D-Bus的远程函数作为输入参数。返回QDBusPendingCall对象可以用来了解的回复信息。

此功能可与多达8个参数,在参数传递中使用arg1arg2arg3arg4arg5arg6arg7arg8。如果您需要超过8个参数,或者如果你有一个可变数目的参数传递,使用asyncCallWithArgumentList( ) 。

它可用于以下方式:

 QString value = retrieveValue();
 QDBusPendingCall pcall = interface->asyncCall(QLatin1String("Process"), value);

 QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(pcall, this);

 QObject.connect(watcher, SIGNAL(finished(QDBusPendingCallWatcher*)),
                  this, SLOT(callFinishedSlot(QDBusPendingCallWatcher*)));

这个例子说明了函数调用与0 , 1​​和2的参数,并说明在每个传递不同的参数类型(第一通电话"ProcessWorkUnicode"将包含一个Unicode字符串,第二次调用"ProcessWork"将包含一个字符串和一个字节数组) 。

此功能被引入Qt的4.5 。

QDBusPendingCall QDBusAbstractInterface.asyncCallWithArgumentList (self, QString method, list-of-QVariant args)

由地方指定调用远程方法method在该接口上,使用args作为参数。这个函数返回一个QDBusPendingCall对象,该对象可以被用来跟踪答复的状态,一旦它已经到达访问其内容。

通常情况下,你应该使用拨打电话asyncCall( ) 。

Note:这个功能是thread-safe

此功能被引入Qt的4.5 。

QDBusMessage QDBusAbstractInterface.call (self, QString method, QVariant arg1 = QVariant(), QVariant arg2 = QVariant(), QVariant arg3 = QVariant(), QVariant arg4 = QVariant(), QVariant arg5 = QVariant(), QVariant arg6 = QVariant(), QVariant arg7 = QVariant(), QVariant arg8 = QVariant())

调用该方法method在该接口上,并传递参数给此函数的方法。

的参数,以call被传递到通过D-Bus的远程函数作为输入参数。输出参数中返回的QDBusMessage回复。如果回答是错误的答复,lastError()也将被设置到该错误消息的内容。

此功能可与多达8个参数,在参数传递中使用arg1arg2arg3arg4arg5arg6arg7arg8。如果您需要超过8个参数,或者如果你有一个可变数目的参数传递,使用callWithArgumentList( ) 。

它可用于以下方式:

 QString value = retrieveValue();
 QDBusMessage reply;

 QDBusReply<int> api = interface->call(QLatin1String("GetAPIVersion"));
 if (api >= 14)
   reply = interface->call(QLatin1String("ProcessWorkUnicode"), value);
 else
   reply = interface->call(QLatin1String("ProcessWork"), QLatin1String("UTF-8"), value.toUtf8());

这个例子说明了函数调用与0 , 1​​和2的参数,并说明在每个传递不同的参数类型(第一通电话"ProcessWorkUnicode"将包含一个Unicode字符串,第二次调用"ProcessWork"将包含一个字符串和一个字节数组) 。

QDBusMessage QDBusAbstractInterface.call (self, QDBus.CallMode mode, QString method, QVariant arg1 = QVariant(), QVariant arg2 = QVariant(), QVariant arg3 = QVariant(), QVariant arg4 = QVariant(), QVariant arg5 = QVariant(), QVariant arg6 = QVariant(), QVariant arg7 = QVariant(), QVariant arg8 = QVariant())

这是一个重载函数。

调用该方法method在该接口上,并传递参数给此函数的方法。如果mode is NoWaitForReply,那么这个功能将发出呼叫后立即返回,而不等待来自远程方法的答复。否则,mode表示该功能是否应该启动了Qt事件循环在等待答复的到来。

此功能可与多达8个参数,在参数传递中使用arg1arg2arg3arg4arg5arg6arg7arg8。如果您需要超过8个参数,或者如果你有一个可变数目的参数传递,使用callWithArgumentList( ) 。

如果此功能重新进入Qt的事件循环,以等待答复,这将排除用户输入。在等待期间,它可能会带来信号和其他方法调用您的应用程序。因此,它必须准备处理重入每当一个呼叫被置于与call( ) 。

QDBusMessage QDBusAbstractInterface.callWithArgumentList (self, QDBus.CallMode mode, QString method, list-of-QVariant args)

由地方指定调用远程方法method在该接口上,使用args作为参数。这个函数返回接收的答复消息,它可以是一个正常的QDBusMessage.ReplyMessage(表示成功)或QDBusMessage.ErrorMessage(如果调用失败) 。该mode参数指定如何调用应放置。

如果调用成功,lastError( )将被清零,否则,它会包含这个调用产生的误差。

通常情况下,你应该使用拨打电话call( ) 。

Warning:如果你使用UseEventLoop,您的代码必须准备好应对任何重入:其他方法调用和信号,可能这个函数返回前交付,以及其他排队Qt的信号和事件。

Note:这个功能是thread-safe

bool QDBusAbstractInterface.callWithCallback (self, QString method, list-of-QVariant args, QObject receiver, SLOT() returnMethod, SLOT() errorMethod)

由地方指定调用远程方法method在该接口上,使用args作为参数。排队的呼叫后,立即这个函数返回。从遥控功能的答复被传递到returnMethod对象receiver。如果发生错误,则errorMethod对象receiver被称为代替。

如果排队成功,该函数返回True。这并不表示该执行调用成功。如果失败,则errorMethod被调用。如果排队失败,这个函数返回False ,没有插槽将被调用。

returnMethod必须有作为它的参数的函数调用返回的类型。任选地,它可具有QDBusMessage参数作为它的最后一个或唯一的参数。该errorMethod必须有一个QDBusError作为其唯一的参数。

此功能被引入Qt的4.3 。

See also QDBusErrorQDBusMessage

object QDBusAbstractInterface.callWithCallback (self, QString method, list-of-QVariant args, callable returnMethod, callable errorMethod)

这是一个重载函数。

此功能已被弃用。请使用重载版本。

由地方指定调用远程方法method在该接口上,使用args作为参数。排队的呼叫后,立即这个函数返回。从远程功能或所发出任何错误的回复被传递到slot插槽上的对象receiver

如果排队成功该函数返回True :它并不表示调用成功。如果它失败了,该槽被调用并显示一条错误消息。lastError( )将不会在这些情况下设定。

See also QDBusErrorQDBusMessage

bool QDBusAbstractInterface.callWithCallback (self, QString method, list-of-QVariant args, QObject receiver, SLOT() slot)

object QDBusAbstractInterface.callWithCallback (self, QString method, list-of-QVariant args, callable slot)

QDBusConnection QDBusAbstractInterface.connection (self)

返回此接口assocated与连接。

QDBusAbstractInterface.connectNotify (self, SIGNAL() signal)

QDBusAbstractInterface.disconnectNotify (self, SIGNAL() signal)

QString QDBusAbstractInterface.interface (self)

返回此接口的名称。

bool QDBusAbstractInterface.isValid (self)

返回True如果这是一个有效的参考远程对象。如果创建这个接口的(例如,如果远程应用程序不存在)期间发生了错误,则返回False 。

注意:当与远程对象时,它并不总是可能的,以确定它创建时存在一个QDBusInterface

QDBusError QDBusAbstractInterface.lastError (self)

返回错误产生的最后一个操作,或无效的错误,如果上次操作没有产生一个错误。

QString QDBusAbstractInterface.path (self)

QString QDBusAbstractInterface.service (self)

返回该接口相关联的服务的名称。

QDBusAbstractInterface.setTimeout (self, int timeout)

设置以毫秒为单位的超时以后所有乌思调用timeout。 -1表示默认乌思超时时间(通常为25秒) 。

此功能被引入Qt的4.8 。

See also timeout( ) 。

int QDBusAbstractInterface.timeout (self)

返回以毫秒为单位的超时时间的当前值。 -1表示默认乌思超时时间(通常为25秒) 。

此功能被引入Qt的4.8 。

See also setTimeout( ) 。




PyQt 4.10.3 for X11 Copyright © Riverbank Computing Ltd and Nokia 2012 Qt 4.8.5