如何找出小部件的顶级容器?

Alb*_*ena 3 tkinter introspection python-3.5

像往常一样,我创建了深度嵌套的小部件框架,这些框架有时可以创建其他顶层。 帧。

当我创建一个新的 Toplevel 框架, 我想存储原始 Toplevel 框架 通过它创建了新的 Toplevel 但由于创建它的按钮深深嵌套在它自己的框架中并且不知道它在它的 Toplevel 层次结构中的位置,它如何发现它的 Toplevel 容器将它传递到其他地方?

我是否必须预先将它存储在某种全局属性中,还是有办法通过使用一些内省来找到它?

调用any_widget._root()将根容器(tkinter.Tk 实例还给我......是否有一个令人惊讶的未记录的widget._toplevel方法?

编辑:删除(以供将来参考)使用错误和混淆的词

Bry*_*ley 5

还有就是小部件方法winfo_toplevel这将返回的实例ToplevelTk

top = some_widget.winfo_toplevel()
Run Code Online (Sandbox Code Playgroud)