以下是我使用asyncio
与tkinter
及其ttk.Progressbar()
小部件进行操作的脚本。我在参考了这些引用(1,2,3,4,5)后得出了它。我让progessbar小部件正常工作。但是我似乎无法取消(停止)负责更新我创建的asyncio
任务对象,以取代通常的tkinter.Tk()
事件Tk()
。这样,在Tk()窗口销毁后,我看不到命令提示符或mainloop()
提示符。 我应该如何终止任务对象>>>
?我正在使用python 3.6。我希望root.update_task
可以结束已取消的任务,但没有结束。 为什么它不起作用?谢谢。
loop.shutdown_asyncgens()
答案 0 :(得分:2)
使用run_until_complete,当您取消任务时,您将退出该函数。您一直在使用run_forever而不是停止循环,所以您永远不会越过该函数。
loop.run_until_complete(root.update_task)
#loop.run_forever()
另请参阅run_forever的文档
loop.run_forever()
Run the event loop until stop() is called.