传统知识之间的区别.Tk() 和 tk.框架



我注意到这两个指令都tk.Tk()tk.Frame创建一个新窗口,那么它们之间有什么区别呢? 使用一个比另一个有什么优势?

我注意到这两个指令都tk。Tk(( 和 tk。框架创建新窗口

这是不正确的。tk.Frame不会创建新窗口,除非尚未创建根窗口,则任何小部件都会强制创建根窗口。

tkinter 应用程序中的小部件存在于层次结构中,并且该层次结构必须具有根窗口。根窗口的特殊之处在于它没有父窗口。所有其他小部件必须具有父项。每个应用程序都必须有一个tk.Tk实例,除了极少数情况外,您不应该有多个tk.Tk实例。

tk.Frame是一个框架:一个带有边框的小部件,没有其他内容。像所有其他小部件(tk.Tk除外(一样,它必须有一个父级。

使用tk.Tk的优点是应用程序必须具有它的实例。如果您不创建一个,则会为您创建一个。python的禅宗说显式比隐式更好,所以你应该始终显式创建它。

使用tk.Frame的优点是,它可以轻松地将小部件收集到组中,并能够将它们作为一个组进行管理(添加边框,将它们作为一个组布置等(。

最新更新