- class QDBusConnectionInterface#
- QDBusConnectionInterface类提供了对 D-Bus 总线守护进程服务的访问。 更多...- 概述#- 方法#
- def - serviceOwner()
- 定义 - servicePid()
- 定义 - serviceUid()
 - 信号#- 注意 - 此文档可能包含自动从C++转换为Python的片段。我们始终欢迎对片段翻译的贡献。如果您在翻译中发现问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE创建工单来告知我们。 - 详细描述#- D-Bus总线服务器守护进程提供了一个特殊的接口 - org.freedesktop.DBus,允许客户端访问总线的某些属性,例如当前连接的客户端列表。《a class="reference internal" href="#PySide6.QtDBus.QDBusConnectionInterface" title="PySide6.QtDBus.QDBusConnectionInterface">- QDBusConnectionInterface类提供了对这个接口的访问。- 此类的最常见用途是使用 - registerService()和- unregisterService()函数在总线上注册和注销服务名称,使用- isServiceRegistered(),- registeredServiceNames()和- serviceOwner()函数查询现有名称,并通过- serviceRegistered(),- serviceUnregistered()和 serviceOwnerChanged() 信号接收通知,表示客户端已注册或注销。- class ServiceQueueOptions#
- 确定服务注册在服务名称已注册的情况下应如何行为的标志。 - 常量 - 描述 - QDBusConnectionInterface.DontQueueService - 如果应用程序请求一个已由其他所有者拥有的名称,则不会进行排队。调用 registeredService() 将直接失败。这是默认行为。 - QDBusConnectionInterface.QueueService - 尝试注册请求的服务,但如果另一个应用程序已注册此服务则不尝试替换。相反,将此应用程序放入队列中,直到其他应用程序放弃。当发生这种情况时,将发出 - serviceRegistered()信号。- QDBusConnectionInterface.ReplaceExistingService - 如果另一个应用程序已注册该服务名称,则尝试替换它。 
 - class ServiceReplacementOptions#
- 确定 D-Bus 服务器是否应允许另一个应用程序使用 - ReplaceExistingService选项替换应用程序已注册的名称。- 可能的值有 - 常量 - 描述 - QDBusConnectionInterface.DontAllowReplacement - 不允许其他应用程序替换。必须显式地使用 - unregisterService()注销服务,以便另一个应用程序获得它。这是默认值。- QDBusConnectionInterface.AllowReplacement - 允许其他应用程序通过使用 - ReplaceExistingService选项替换我们并- registerService(),无需干预。如果发生这种情况,将发出- serviceUnregistered()信号。- 另请参阅 
 - class RegisterServiceReply#
- 从 - registerService()返回的可能值- 常量 - 描述 - QDBusConnectionInterface.ServiceNotRegistered - 调用失败且未注册服务名称。 - QDBusConnectionInterface.ServiceRegistered - 调用者是服务名称的所有者。 - QDBusConnectionInterface.ServiceQueued - 调用者指定了 - QueueService标志,并且服务已经被注册,所以我们正在排队。- 当服务由该应用程序获取时,将发出 - serviceRegistered()信号。
 - NameAcquired(arg__1)#
- 参数
- arg__1 – str 
 
 - NameLost(arg__1)#
- 参数
- arg__1 – str 
 
 - NameOwnerChanged(arg__1, arg__2, arg__3)#
- 参数
- arg__1 – str 
- arg__2 – str 
- arg__3 – str 
 
 
 - activatableServiceNames()#
- 返回类型
- QDBusReply
 
 - callWithCallbackFailed(error, call)#
- 参数
- error – - QDBusError
- call – - QDBusMessage
 
 
 - 在调用 - callWithCallback()时发生错误时会发出此信号。- error指定错误。- call是无法交付的消息。- 另请参阅 - isServiceRegistered(arg__1)#
- 参数
- arg__1 – str 
- 返回类型
- QDBusReply
 
 - 如果服务名称 - serviceName当前已注册,则返回- true。- registerService(arg__1, arg__2, arg__3)#
- 参数
- arg__1 – str 
- arg__2 – - ServiceQueueOptions
- arg__3 – - ServiceReplacementOptions
 
- 返回类型
- QDBusReply
 
 - 请求在总线上注册服务名称 - serviceName。标志- qoption指定如果- serviceName已注册,则D-Bus服务器应该如何行为。标志- roption指定服务器是否应允许其他应用程序替换已注册的名称。- 如果服务注册成功,将发出 - serviceRegistered()信号。如果在队列中,则当获得名称时发出信号。如果- roption是- AllowReplacement,如果另一个应用程序替换了此应用程序,则发出- serviceUnregistered()信号。- 另请参阅 - registeredServiceNames()#
- 返回类型
- QDBusReply
 
 - serviceOwner(arg__1)#
- 参数
- arg__1 – str 
- 返回类型
- QDBusReply
 
 - 返回名称 - name的主要所有者的唯一连接名称。如果请求的名称没有所有者,则返回错误- org.freedesktop.DBus.Error.NameHasNoOwner。- serviceOwnerChanged(name, oldOwner, newOwner)#
- 参数
- name – str 
- oldOwner – str 
- newOwner – str 
 
 
 - 请使用 - QDBusServiceWatcher代替。- 该信号在D-Bus服务器检测到总线上的服务所有权变更时发出,包括名称的出现和消失。 - 该信号表示应用 - oldOwner失去了总线名- name的所有权,被应用- newOwner获取。如果- oldOwner是一个空字符串,表示名称- name刚刚被创建;如果- newOwner为空,表示名称- name当前没有所有者,且不再可用。- 注意 - 连接到这个信号将使应用监听并接收总线上的每次服务所有权变更。根据运行的服务数量,这可能导致应用接收过多不必要的信号。为了避免这个问题,请使用 - QDBusServiceWatcher类,它可以监听特定的变动。- servicePid(arg__1)#
- 参数
- arg__1 – str 
- 返回类型
- QDBusReply
 
 - 返回当前持有总线服务 - serviceName的进程的Unix进程ID (PID)。- serviceRegistered(service)#
- 参数
- service – str 
 
 - D-Bus服务器在总线服务名称(唯一的连接名称或已知服务名称) - service被该应用获取时发出此信号。- 在应用使用 - registerService()请求名称之后发生获取。- serviceUid(arg__1)#
- 参数
- arg__1 – str 
- 返回类型
- QDBusReply
 
 - 返回当前持有总线服务 - serviceName的进程的Unix用户ID (UID)。- serviceUnregistered(service)#
- 参数
- service – str 
 
 - 当该应用失去由 - service给出的总线服务名称所有权时,D-Bus服务器发出此信号。- startService(arg__1)#
- 参数
- arg__1 – str 
- 返回类型
- QDBusReply
 
 - 请求总线启动由名称 - name指定的服务。- unregisterService(arg__1)#
- 参数
- arg__1 – str 
- 返回类型
- QDBusReply
 
 - 释放对总线服务名称 - serviceName的声明,该名称之前已通过- registerService()注册。如果此应用程序拥有该名称的所有权,则将释放该名称供其他应用程序声明。如果它只排队等待该名称,则放弃其在队列中的位置。