- class QDBusMessage#
QDBusMessage
类代表通过 D-Bus 总线发送或接收的一个消息。 更多...概述#
方法#
def
__init__()
def
arguments()
def
createReply()
def
errorMessage()
定义函数
errorName()
定义函数
interface()
定义函数
isDelayedReply()
定义函数
isReplyRequired()
定义函数
member()
定义函数
__lshift__()
定义函数
path()
定义函数
service()
定义函数
setArguments()
定义函数
setDelayedReply()
定义函数
signature()
定义函数
swap()
定义函数
type()
静态函数#
定义函数
createError()
定义函数
createMethodCall()
定义函数
createSignal()
注
这份文档可能包含了一些从C++自动翻译成Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译存在问题,您也可以通过在https:/bugreports.qt.io/projects/PYSIDE上创建工单来告诉我们
详细说明#
此对象可以表示总线上可能发生的四种不同类型的信息(
MessageType
)方法调用
方法返回值
信号发射
错误代码
使用静态方法createError()、createMethodCall()和createSignal()创建此类对象。使用send()方法发送消息。
- class MessageType#
可能的消息类型
常数
说明
QDBusMessage.MethodCallMessage
代表入站或出站方法调用的消息
QDBusMessage.SignalMessage
代表入站或出站信号发射的消息
QDBusMessage.ReplyMessage
代表方法调用返回值的消息
QDBusMessage.ErrorMessage
代表方法调用响应中的错误条件消息
QDBusMessage.InvalidMessage
无效消息:这永远不会在从Dbus接收的消息上设置
- __init__(other)#
- 参数:
other –
QDBusMessage
创建由
other
提供的对象的副本。注意:
QDBusMessage
对象是共享的。对副本所做的修改将影响原始对象。有关更多信息,请参阅setDelayedReply()
。- __init__()
创建一个空的、无效的
QDBusMessage
对象。- arguments()#
- 返回类型::
QVariant列表
返回将要发送或从Dbus接收的参数列表。
另请参阅
- autoStartService()#
- 返回类型::
bool
返回自动启动标志,由
setAutoStartService()
设置。默认情况下,此标志为 true,表示 Qt D-Bus 会在服务未运行时自动启动它。使用消息
msg
构造新错误类型的 DBus 消息。返回 DBus 消息。- static createError(err)
- 参数:
err –
QDBusError
- 返回类型::
构造表示给定错误的 DBus 消息。
- static createError(name, msg)
- 参数:
name – str
msg – str
- 返回类型::
使用给定的
name
和msg
构造表示错误的新的 DBus 消息。使用消息
msg
构造新错误类型的 DBus 应答消息。返回 DBus 消息。- createErrorReply(err)
- 参数:
err –
QDBusError
- 返回类型::
从给定的错误对象构造表示错误应答消息的新的 DBus 消息。
- createErrorReply(name, msg)
- 参数:
name – str
msg – str
- 返回类型::
使用给定的
name
和msg
构造表示错误应答消息的新的 DBus 消息。- static createMethodCall(destination, path, interface, method)#
- 参数:
destination – str
path – str
interface – str
方法 – 字符串
- 返回类型::
构建一个表示方法调用的新DBus消息。方法调用始终通知其目标地址(
service
、path
、interface
和method
)。DBus总线允许在不指定目标接口的情况下调用给定远程对象上的方法,如果方法名称唯一。但是,如果远程对象上的两个接口导出相同的方法名称,结果是不确定的(可能调用其中之一或返回错误)。
在使用点对点上下文(即在总线上不是)DBus时,
service
参数是可选的。QDBusInterface
类提供了一个更简单的抽象,用于同步方法调用。此函数返回一个
QDBusMessage
对象,可以使用call()
方法发送。- createReply([arguments=list()])#
- 参数:
arguments – .QVariant列表
- 返回类型::
构建一个表示回复的新DBus消息,带有给定的
arguments
。- createReply(argument)
- 参数:
argument – 对象
- 返回类型::
构建一个表示回复的新DBus消息,带有给定的
argument
。- static createSignal(path, interface, name)#
- 参数:
path – str
interface – str
name – str
- 返回类型::
构建一个具有给定
path
、interface
和name
的新DBus消息,表示信号发射。DBus信号从一个应用程序发出,并被所有监听该接口信号的程序接收。
返回的
QDBusMessage
对象可以通过send()
函数发送。- static createTargetedSignal(service, path, interface, name)#
- 参数:
service – 字符串
path – str
interface – str
name – str
- 返回类型::
通过给定的
path
、interface
和name
构建一个新的DBus消息,表示向特定目的地发射一个信号。DBus信号从一个应用程序发出,只能被拥有目标
service
名称的应用程序接收。返回的
QDBusMessage
对象可以通过send()
函数发送。- errorMessage()#
- 返回类型::
str
返回接收到的错误相关的人类可读消息。
- errorName()#
- 返回类型::
str
返回接收到的错误名称。
- interface()#
- 返回类型::
str
返回调用方法的接口(如果是方法调用的情况)或接收到的信号的接口。
- isDelayedReply()#
- 返回类型::
bool
返回延迟响应标志,由
setDelayedReply()
设置。默认情况下,此标志为false,意味着Qt D-Bus在需要时将生成自动响应。- isInteractiveAuthorizationAllowed()#
- 返回类型::
bool
返回消息是否设置了
ALLOW_INTERACTIVE_AUTHORIZATION
标志。- isReplyRequired()#
- 返回类型::
bool
返回标志,指示此消息是否应看到响应。这对于
method call messages
有意义:其他类型的消息不能有响应,此函数将始终对它们返回false。- member()#
- 返回类型::
str
返回所发射信号的名称或所调用方法的名称。
- __lshift__(arg)#
- 参数:
arg – object
- 返回类型::
将参数
arg
添加到方法调用或信号发射中要发送到DBus的参数列表中。- path()#
- 返回类型::
str
返回消息所发送到的对象路径(在方法调用的情况下)或消息接收到的对象路径(对于信号)。
- service()#
- 返回类型::
str
返回服务名称或远程方法调用的大巴地址。
- setArguments(arguments)#
- 参数:
arguments – .QVariant列表
将即将通过D-Bus发送的参数设置为
arguments
。这些将是最方法调用或信号中的参数。另请参阅
- setAutoStartService(enable)#
- 参数:
enable – bool
将自动启动标志设置为
enable
。此标志只对方法调用消息有意义,它告诉D-Bus服务器是否自动启动负责该服务名称的服务。默认情况下此标志为true,即服务将自动启动。这意味着
当发送此方法调用的服务已经运行时,该方法调用会发送给它。如果服务尚未运行,则会请求D-Bus守护程序自动启动分配给此服务名称的服务。这是通过在D-Bus服务器已知的目录中放置的.service文件来处理的。然后,每个文件都包含一个服务名称和当请求此服务名称时应执行程序的路径。
另请参阅
- setDelayedReply(enable)#
- 参数:
enable – bool
设置消息是否将在以后回复(如果
enable
为true),或者如果Qt D-Bus应生成自动回复(如果enable
为false)。D-Bus中,所有方法调用都必须对调用者生成回复,除非调用者明确表示不希望这样做(参见
isReplyRequired()
)。 QtDBus 自动为任何被调用的插槽生成此类回复,但它还允许插槽指示是否将在函数处理完毕后负责发送回复。另请参阅
- setInteractiveAuthorizationAllowed(enable)#
- 参数:
enable – bool
启用或禁用消息中的
ALLOW_INTERACTIVE_AUTHORIZATION
标志。此标志仅对方法调用消息有意义(
MethodCallMessage
)。如果enable
设置为true
,则该标志表示方法的调用方已准备好等待交互式授权发生(例如通过 Polkit)后再实际处理该方法。如果
enable
设置为false
,则不设置该标志,这意味着另一端应非线性地、及时地做出任何授权决策。这是默认设置。org.freedesktop.DBus.Error.InteractiveAuthorizationRequired
错误表示授权失败,但如果设置此标志可能已成功。- signature()#
- 返回类型::
str
返回收到的信号的签名或方法调用输出的参数签名。
- swap(other)#
- 参数:
other –
QDBusMessage
将此
QDBusMessage
实例与other
交换。返回消息类型。