【问题标题】:Why no code is executed after mainloop tkinter python为什么在 mainloop tkinter python 之后没有执行任何代码
【发布时间】:2021-11-09 15:58:18
【问题描述】:

我知道 mainloop 的目的是什么(或者至少我认为),我也知道放在 mainloop 之后的代码可以使用 after() 来执行,但为什么会这样呢?为什么 mainloop 会阻塞它?

【问题讨论】:

  • 什么意思?运行主循环的代码会阻塞,因为它正忙于运行主循环。
  • 你至少可以解释你的想法 .mainloop() 做了什么,然后我们可以告诉你什么是错的,什么是对的,与.mainloop() 的最接近的比较是异步代码,基本上有一个循环一直运行到停止处理所有事件,显然在循环结束之前没有任何东西可以运行

标签: python tkinter mainloop


【解决方案1】:

当你使用.mainloop() 方法时,你会启动一个特殊的循环,Tkinter 使用它来检查按键和按钮按下等事件。它的功能就像一个永远的while 循环。因此,在用户关闭窗口或在代码中销毁之前,您不能在循环之外运行任何代码。

【讨论】:

  • 是的,与 while 循环的比较确实帮助了我。谢谢!
猜你喜欢
  • 2020-07-02
  • 1970-01-01
  • 2020-04-18
  • 2019-10-03
  • 1970-01-01
  • 2022-11-03
  • 1970-01-01
  • 2015-10-27
  • 1970-01-01
相关资源
最近更新 更多