tkinter.mainloop函数的n参数是什么?

时间:2018-07-17 17:13:39

标签: python tkinter

n函数可以使用一个tkinter.mainloop参数,

help(tkinter.Tk.mainloop)
>>>> mainloop(self, n=0) # What is n here ?
     Call the mainloop of Tk.

我找不到有关它的任何文档

n参数的目的是什么?

1 个答案:

答案 0 :(得分:16)

正如您在Tkinter的 C实现中看到的,_tkinter_tkapp_mainloop_impl

_tkinter_tkapp_mainloop_impl(TkappObject *self, int threshold)

n表示传递给函数的threshold参数。

现在,看一下实现本身,就有可能在函数的开头看到这个循环,

 while (Tk_GetNumMainWindows() > threshold &&
       !quitMainLoop &&
       !errorInCmd)

因此,您可以看到,当根级别窗口的数量降至mainloop或以下时,该代码将退出threshold

请注意,默认情况下,可选参数的值将为0,从逻辑上讲,如果 任何 根级别,该参数将保持活动状态窗口打开了。

更多信息

我无法评论为什么添加了此threshold参数,但是缺少有关此特定参数的文档和/或信息的原因很可能是因为很少有人会通过{{ 1}}显式更改为n并更改默认行为。