Python Tk()和Frame()有什么不同

Python Tk()和Frame()有什么不同,python,tkinter,Python,Tkinter,一, 二, 跑完这一步之后,情况似乎是一样的 使用tk.Frame()有什么好处?tk创建根窗口。每个tkinter应用程序都必须有一个根窗口。当您实例化它时,您还创建了tkinter使用的tcl解释器 Frame只是一个小部件,设计成其他小部件的容器。它不能充当独立窗口。如果没有Tk的实例,Frame的实例就不可能存在——如果您没有显式创建Tk的实例,将为您创建一个实例 在您的示例中,使用frame没有任何好处,因为a)使用pack、place、或grid,不使其可见;b)不在其中放置任何内容

一,

二,

跑完这一步之后,情况似乎是一样的


使用tk.Frame()有什么好处?

tk
创建根窗口。每个tkinter应用程序都必须有一个根窗口。当您实例化它时,您还创建了tkinter使用的tcl解释器

Frame
只是一个小部件,设计成其他小部件的容器。它不能充当独立窗口。如果没有
Tk
的实例,
Frame
的实例就不可能存在——如果您没有显式创建
Tk
的实例,将为您创建一个实例

在您的示例中,使用frame没有任何好处,因为a)使用
pack
place
、或
grid
,不使其可见;b)不在其中放置任何内容

使用框架有很多优点,但主要的一点是它可以很容易地将小部件组织到逻辑组中

import tkinter as tk
root = tk.Tk()
root.mainloop()
import tkinter as tk
root = tk.Tk()
app = tk.Frame(root)
app.mainloop()