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

时间:2018-12-13 04:33:05

标签: python tkinter

1。

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

2。

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

运行此命令后,似乎相同。

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

1 个答案:

答案 0 :(得分:1)

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

Frame只是一个小部件,旨在作为其他小部件的容器。它不能充当独立窗口。没有Frame的实例就不能存在Tk的实例-如果您未显式创建Tk的实例,则会为您创建一个实例。

在您的示例中,使用框架没有任何优势,因为您a)不会使其在packplacegrid中可见,并且b)您不会在里面放任何东西。

使用框架有很多优点,但是主要优点是它使将小部件组织成逻辑组变得容易。