带有dbus接口的PyQT5在interspection上冻结(PyQT4工作的地方)

2021-12-01 11:00:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个可以在PyQT4上运行的简单片段:

from PyQt4.QtCore import QCoreApplication
import math
import dbus
import dbus.service
from dbus.mainloop.qt import DBusQtMainLoop

class Calculator(dbus.service.Object):
  def __init__(self):
    busName = dbus.service.BusName('org.calc.Calculator', bus = dbus.SessionBus())
    dbus.service.Object.__init__(self, busName, '/Calculator')

  @dbus.service.method('org.calc.Calculator', in_signature = 'dd', out_signature = 'd')
  def add(self, a, b):
      return a+b

DBusQtMainLoop(set_as_default = True)
app = QCoreApplication([])
calc = Calculator()
app.exec_()

但是,如果将PyQT4导入替换为PyQT5导入:

^{pr2}$

应用程序挂在interspection上。在

有什么办法解决这个问题吗?更重要的是,原因是什么?在