【发布时间】:2012-09-12 11:49:08
【问题描述】:
问题1:
我尝试编写一个脚本来与 Pidgins 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,是真的吗?它会用什么来代替那个?
谢谢大家。
【问题讨论】:
标签: python python-2.7 pyqt pyqt4