首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tk.Tk()和tk.Frame的区别

tk.Tk()和tk.Frame的区别
EN

Stack Overflow用户
提问于 2019-12-27 21:34:21
回答 1查看 804关注 0票数 1

我已经注意到,tk.Tk()tk.Frame这两个指令构成了一个新窗口,那么它们之间有什么区别呢?使用其中一个比另一个有什么好处?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-27 21:42:09

--我注意到,tk.Tk()和tk.Frame这两个指令都创建了一个新窗口

那是不对的。tk.Frame不会创建一个新窗口,除非您还没有创建根窗口,任何小部件都会强制创建根窗口。

tkinter应用程序中的小部件存在于层次结构中,该层次结构必须有根窗口。根窗口是特殊的,因为它没有父窗口。所有其他小部件都必须有父部件。每个应用程序都必须有一个tk.Tk实例,除了非常罕见的情况之外,您永远不应该有一个以上的tk.Tk实例。

tk.Frame是一个框架:一个有边框的小部件,没有太多其他的。与所有其他小部件(tk.Tk除外)一样,它必须有一个父部件。

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

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59506238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档