我有一个可以在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上。在
有什么办法解决这个问题吗?更重要的是,原因是什么?在
实际上,对于PyQt5,您需要使用PyQt5特定的dbus模块来提供主循环:
而不是:
^{pr2}$相关问题 更多 >
编程相关推荐