質問1:
PidginsDBusと話すためのスクリプトを作成しようとしました。私のスクリプトは次のようになりました。
#!/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をサポートしていないことをどこかで読みましたが、本当ですか?その代わりに何を使用しますか?
皆さん、ありがとうございました。