相关疑难解决方法(0)

是否可以只运行asyncio事件循环的一个步骤

我正在使用asyncio和tkinter开发一个简单的图形网络应用程序.我遇到了将asyncio事件循环与Tk的mainloop相结合的问题.如果可能的话,我想在没有线程的情况下这样做,因为这两个库(但特别是tkinter)都不是非常线程安全的.目前,我在asyncio协程中使用Tk.update,它只运行tk事件循环的一次迭代:

@asyncio.coroutine
def run_tk(tk, interval=0.1):
    try:
        while True:
            tk.update()
            yield from asyncio.sleep(interval)
    except TclError as e:
        if "application has been destroyed" not in e.args[0]:
            raise
Run Code Online (Sandbox Code Playgroud)

但是,为了探索所有选项,我想知道是否可以执行反向 - 如果可以在tk回调中仅调用asyncio事件循环的单次迭代.

python events tk-toolkit tkinter python-asyncio

8
推荐指数
1
解决办法
1675
查看次数

标签 统计

events ×1

python ×1

python-asyncio ×1

tk-toolkit ×1

tkinter ×1