【问题标题】:Tkinter: mainloop() looping over an init function? Why and how?Tkinter:mainloop()循环一个init函数?为什么以及如何?
【发布时间】:2021-09-03 02:26:11
【问题描述】:

mainloop() 究竟循环了哪些代码?我见过几个examples,其中循环似乎在窗口对象的init 函数上运行,但也有some,它似乎在整个程序/没有特定对象上运行。出于什么原因,您会以一种方式或另一种方式设置它?你怎么知道 mainloop() 将要执行什么?

我读过一堆 Tkinter documentation 和 StackOverflow questions 和(诚然只是略读)一对 tutorials,他们都告诉我 mainloop() 创建并执行了一个永恒的事件循环......但没有详细说明什么代码构成了事件循环。

【问题讨论】:

    标签: python tkinter


    【解决方案1】:

    事件循环在 Tk 内部。它是等待用户做某事并将这些事件分派给您注册的处理程序的代码。当它调度了一个事件时,它会循环回来等待下一个用户操作。你不需要对它做任何事情,但它是整个系统工作的原因。

    在大多数(可能几乎所有)GUI 编程模型中都可以找到事件循环;这不仅仅是 Tk 的事情。他们没有解释它,因为它假定你已经熟悉它。

    https://en.wikipedia.org/wiki/Event_loop

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多