我有一个使用 Tkinter GUI 和 Twisted 的 Python 应用程序。Twisted 支持 Tkinter 主循环,因此两者可以很好地协同工作。
现在我想在应用程序中添加一些 D-Bus 代码。但是查看文档,我看不到如何将 D-Bus 集成到 Tkinter 主循环中。Python D-Bus 教程说它有主循环支持:
- glib 主循环
- Qt 主循环
使 Python D-Bus 与 Tkinter 主循环一起工作会涉及什么?
我有一个使用 Tkinter GUI 和 Twisted 的 Python 应用程序。Twisted 支持 Tkinter 主循环,因此两者可以很好地协同工作。
现在我想在应用程序中添加一些 D-Bus 代码。但是查看文档,我看不到如何将 D-Bus 集成到 Tkinter 主循环中。Python D-Bus 教程说它有主循环支持:
使 Python D-Bus 与 Tkinter 主循环一起工作会涉及什么?
我没有意识到,但是除了被称为“参考实现”之外,还有几个用于 Python 的 D-Bus 绑定。python-dbus
一个是Twisted 的 D-Bus 绑定。我已经尝试了使用示例(减去reactor.stop()
调用),它在我的应用程序中运行良好。
在PEP 3156 中,还有一些关于泛化 Python 事件循环的工作asyncio
。asyncio
一旦各种 Python 框架添加了对样式事件循环的支持,这有望在未来简化事情。