PySide6.QtDBus.QDBusMessage¶
- class QDBusMessage¶
QDBusMessage类表示通过 D-Bus 总线发送或接收的一条消息。更多…概要¶
方法¶
def
__init__()def
arguments()def
createReply()def
errorMessage()def
errorName()def
interface()def
isDelayedReply()def
member()def
__lshift__()def
path()def
service()def
setArguments()def
signature()def
swap()def
type()
静态函数¶
def
createError()def
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
无效的消息:这从未在从D-Bus接收的消息上设置
- __init__()¶
构造一个空的、无效的
QDBusMessage对象。- __init__(other)
- Parameters:
其他 –
QDBusMessage
构造由
other给出的对象的副本。注意:
QDBusMessage对象是共享的。对副本的修改也会影响原始对象。更多信息请参见setDelayedReply()。- arguments()¶
- Return type:
.QVariant 列表
返回将要发送或从D-Bus接收的参数列表。
另请参阅
- autoStartService()¶
- Return type:
布尔
返回自动启动标志,由
setAutoStartService()设置。默认情况下,此标志为true,这意味着如果服务尚未运行,Qt D-Bus将自动启动服务。- static createError(err)¶
- Parameters:
错误 –
QDBusError- Return type:
构造一个新的DBus消息,表示给定的
error。- static createError(type, msg)
- Parameters:
type –
ErrorTypemsg – str
- Return type:
为错误类型
type使用消息msg构造一个新的 DBus 消息。返回 DBus 消息。- static createError(name, msg)
- Parameters:
name – str
msg – str
- Return type:
构造一个新的DBus消息表示错误,带有给定的
name和msg。- createErrorReply(err)¶
- Parameters:
错误 –
QDBusError- Return type:
从给定的
error对象构造一个新的DBus消息,表示错误回复消息。- createErrorReply(type, msg)
- Parameters:
type –
ErrorTypemsg – str
- Return type:
为错误类型
type使用消息msg构造一个新的 DBus 回复消息。返回 DBus 消息。- createErrorReply(name, msg)
- Parameters:
name – str
msg – str
- Return type:
构造一个新的DBus消息,表示一个错误回复消息,带有给定的
name和msg。- static createMethodCall(destination, path, interface, method)¶
- Parameters:
destination – str
path – 字符串
interface – str
method – str
- Return type:
构造一个新的DBus消息,表示一个方法调用。方法调用总是通知其目标地址(
service、path、interface和method)。DBus总线允许在不指定目标接口的情况下调用给定远程对象上的方法,前提是方法名称是唯一的。然而,如果远程对象上的两个接口导出了相同的方法名称,则结果是未定义的(可能会调用其中一个方法,或者可能会返回错误)。
在点对点环境中使用DBus时(即不在总线上),
service参数是可选的。QDBusInterface类为同步方法调用提供了一个更简单的抽象。此函数返回一个
QDBusMessage对象,可以通过call()发送。- createReply([arguments=list()])¶
- Parameters:
arguments – QVariant 的列表
- Return type:
构造一个新的DBus消息表示回复,带有给定的
arguments。- createReply(argument)
- Parameters:
参数 – 对象
- Return type:
构造一个新的DBus消息表示回复,带有给定的
argument。- static createSignal(path, interface, name)¶
- Parameters:
path – 字符串
interface – str
name – str
- Return type:
使用给定的
path、interface和name构造一个新的DBus消息,表示信号发射。DBus信号从一个应用程序发出,并由所有从该接口监听该信号的应用程序接收。
返回的
QDBusMessage对象可以使用send()函数发送。- static createTargetedSignal(service, path, interface, name)¶
- Parameters:
service – str
path – 字符串
interface – str
name – str
- Return type:
使用给定的
path、interface和name构造一个新的DBus消息,表示向特定目的地发出的信号。DBus信号从一个应用程序发出,并且只能由拥有目标
service名称的应用程序接收。返回的
QDBusMessage对象可以使用send()函数发送。- errorMessage()¶
- Return type:
字符串
返回与接收到的错误相关联的人类可读消息。
- errorName()¶
- Return type:
字符串
返回接收到的错误名称。
- interface()¶
- Return type:
字符串
返回被调用方法的接口(在方法调用的情况下)或接收信号的接口。
- isDelayedReply()¶
- Return type:
布尔
返回由
setDelayedReply()设置的延迟回复标志。默认情况下,此标志为false,这意味着Qt D-Bus将在必要时生成自动回复。- isInteractiveAuthorizationAllowed()¶
- Return type:
布尔
返回消息是否设置了
ALLOW_INTERACTIVE_AUTHORIZATION标志。- isReplyRequired()¶
- Return type:
布尔
返回指示此消息是否应看到回复的标志。这仅对
method call messages有意义:任何其他类型的消息都不能有回复,此函数将始终为它们返回false。- member()¶
- Return type:
字符串
返回发出的信号的名称或调用的方法的名称。
- __lshift__(arg)¶
- Parameters:
arg – 对象
- Return type:
将参数
arg添加到在方法调用或信号发射中通过 D-Bus 发送的参数列表中。- path()¶
- Return type:
字符串
返回此消息发送到的对象路径(在方法调用的情况下)或接收到的对象路径(对于信号)。
- service()¶
- Return type:
字符串
返回服务的名称或远程方法调用的总线地址。
- setArguments(arguments)¶
- Parameters:
arguments – QVariant 的列表
设置将通过D-Bus发送的参数为
arguments。这些将是方法调用的参数或信号中的参数。另请参阅
- setAutoStartService(enable)¶
- Parameters:
enable – 布尔值
将自动启动标志设置为
enable。此标志仅对方法调用消息有意义,它告诉D-Bus服务器自动启动负责服务名称的服务,或者不自动启动它。默认情况下,此标志为 true,即服务会自动启动。这意味着:
当此方法调用发送到的服务已经在运行时,方法调用将发送给它。如果服务尚未运行,则请求D-Bus守护进程自动启动分配给此服务名称的服务。这是通过放置在D-Bus服务器已知目录中的.service文件来处理的。这些文件每个都包含一个服务名称和当请求此服务名称时应执行的程序的路径。
另请参阅
- setDelayedReply(enable)¶
- Parameters:
enable – 布尔值
设置消息是否稍后回复(如果
enable为true)或者是否应由Qt D-Bus生成自动回复(如果enable为false)。在D-Bus中,所有的方法调用都必须生成一个回复给调用者,除非调用者明确表示不需要(参见
isReplyRequired())。QtDBus会自动为任何被调用的槽生成这样的回复,但它也允许槽表明它们是否会在函数处理完成后稍后时间负责发送回复。另请参阅
- setInteractiveAuthorizationAllowed(enable)¶
- Parameters:
enable – 布尔值
启用或禁用消息中的
ALLOW_INTERACTIVE_AUTHORIZATION标志。此标志仅对方法调用消息(
MethodCallMessage)有意义。如果enable设置为true,该标志向被调用方表明,调用方已准备好等待交互式授权(例如通过Polkit)在实际方法处理之前进行。如果
enable设置为false,则不会设置标志,这意味着另一端应非交互式且迅速地做出任何授权决定。这是默认设置。org.freedesktop.DBus.Error.InteractiveAuthorizationRequired错误表示授权失败,但如果设置了此标志,授权可能会成功。- signature()¶
- Return type:
字符串
返回接收到的信号的签名或方法调用的输出参数的签名。
- swap(other)¶
- Parameters:
其他 –
QDBusMessage
将此
QDBusMessage实例与other交换。- type()¶
- Return type:
返回消息类型。