Python D-Bus 和 Tkinter 主循环集成
Posted
技术标签:
【中文标题】Python D-Bus 和 Tkinter 主循环集成【英文标题】:Python D-Bus and Tkinter main loop integration 【发布时间】:2013-07-27 16:15:45 【问题描述】:我有一个使用 Tkinter GUI 和 Twisted 的 Python 应用程序。 Twisted 支持 Tkinter 主循环,因此两者可以很好地协同工作。
现在我想在应用程序中添加一些 D-Bus 代码。但是查看文档,我看不到如何将 D-Bus 集成到 Tkinter 主循环中。 Python D-Bus tutorial 表示它有主循环支持:
glib 主循环 Qt 主循环让 Python D-Bus 与 Tkinter 主循环一起工作会涉及什么?
【问题讨论】:
【参考方案1】:我没有意识到,但是除了python-dbus
之外还有several D-Bus bindings for Python,这被称为“参考实现”。
一个是D-Bus binding for Twisted。我尝试了usage example(减去reactor.stop()
调用),它在我的应用程序中运行良好。
在PEP 3156asyncio
中也有一些关于泛化 Python 事件循环的工作。一旦各种 Python 框架添加了对 asyncio
样式事件循环的支持,这有望在未来简化事情。
【讨论】:
不管这个答案如何,我仍然很想知道python-dbus
如何集成到 Tkinter 主循环中。以上是关于Python D-Bus 和 Tkinter 主循环集成的主要内容,如果未能解决你的问题,请参考以下文章
Python+D-Bus+BlueZ 5:无法读取对象的属性?
D-Bus D-Feet 发送字符串字典,Python 语法变体
关于使用 D-Bus 异步方法调用的 Python 中的线程安全