Каков n параметр функции tkinter.mainloop?

Параметр n может быть tkinter.mainloop функцией tkinter.mainloop,

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

Я не смог найти документацию об этом

Какова цель этого n параметра?

Ответы

Ответ 1

Как вы можете видеть в реализации C Tkinter, _tkinter_tkapp_mainloop_impl,

_tkinter_tkapp_mainloop_impl(TkappObject *self, int threshold)

n представляет threshold параметр, переданный функции.

Теперь, глядя на реализацию, можно увидеть этот цикл в начале функции,

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

Следовательно, вы можете видеть, что код предназначен для выпадения из mainloop когда количество окон корневого уровня падает до threshold или ниже.

Обратите внимание, что по умолчанию необязательный параметр будет иметь значение 0, которое логически означает, что он будет оставаться активным, если открыты все окна на уровне корня.

Дальнейшая информация

Я не могу прокомментировать, почему этот threshold параметр был добавлен, но отсутствие документации и/или информации об этом конкретном параметре, скорее всего, происходит из-за того, что кажется довольно редким, что кто-то явно передал n tkinter.mainloop и изменил по умолчанию.