1
問題1使用的DBus:在Python程序
我試圖讓一個腳本洋涇濱的DBus說話。我的腳本現在是這樣的:
#!/usr/bin/env python
import dbus, gobject
from dbus.mainloop.glib import DBusGMainLoop
class DBus_Answer():
def __init__(self, text):
dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
bus = dbus.SessionBus()
self.answer = text
bus.add_signal_receiver(self.my_func,
dbus_interface="im.pidgin.purple.PurpleInterface",
signal_name="ReceivedImMsg")
loop = gobject.MainLoop()
loop.run()
def my_func(self, account, sender, message, conversation, flags):
print sender, "said:", message
bus = dbus.SessionBus()
obj = bus.get_object("im.pidgin.purple.PurpleService", "/im/pidgin/purple/PurpleObject")
purple = dbus.Interface(obj, "im.pidgin.purple.PurpleInterface")
purple.PurpleConvImSend(purple.PurpleConvIm(conversation), self.answer)
run = DBus_Answer("My message!")
這工作正常。但我原來的程序使用PyQt4
,我想用QDBus
來實現這一點。我搜索了很多,但沒有找到關於這個主題的任何有用的文檔。
問題2: 我讀過python 3不支持DBus的地方,這是真的嗎?它會用什麼來代替那個?
謝謝大家。