Tk() 和 Frame() 有什么区别?

kov*_*vac 4 python tkinter

  1. import tkinter as tk
    root = tk.Tk()
    root.mainloop()
    
    Run Code Online (Sandbox Code Playgroud)
  2. import tkinter as tk
    root = tk.Tk()
    app = tk.Frame(root)
    app.mainloop()
    
    Run Code Online (Sandbox Code Playgroud)

运行每一个之后,结果看起来都是一样的。

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

Bry*_*ley 5

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

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

在您的示例中,使用框架没有任何优势,因为您a)不使用packplace或使其可见grid,并且b)您没有在其中放置任何内容。

使用框架有很多优点,但最主要的优点是它可以轻松地将小部​​件组织成逻辑组。