Python D-Bus和Tkinter主循环集成



我有一个Python应用程序,它使用Tkinter GUI和Twisted。Twisted支持Tkinter主循环,因此两者可以很好地协同工作。

现在我想在应用程序中添加一些d-Bus代码。但是查看文档,我看不出如何将D-Bus集成到Tkinter主循环中。Python的D-Bus教程说它有主循环支持:

  • glib主循环
  • Qt主回路

让PythonD-Bus与Tkinter主循环一起工作会涉及到什么?

我没有意识到这一点,但除了被称为"引用实现"的python-dbus之外,还有几个用于Python的D-Bus绑定。

一个是Twisted的D-Bus绑定。我尝试过这个用法示例(减去reactor.stop()调用),它在我的应用程序中运行良好。

在PEP 3156 asyncio中,也有一些关于概括Python事件循环的工作正在进行。一旦各种Python框架增加了对asyncio风格事件循环的支持,这将有望在未来简化事情。

  • TKinter建议书的PEP 3156
  • python-dbusx--用于PEP 3156的D-Bus

最新更新