Tkinter 的 Tk 和 Toplevel 类有什么区别?

tkinterpythongui-programming更新于 2025/5/19 14:04:17

Tkinter 窗口是通过首先初始化 Tk  对象来创建的。它是任何 Tkinter 应用程序的最小部分,有助于实例化应用程序。Tk  有助于构建应用程序的基本构建块,例如放置所有小部件的应用程序窗口。

但是, Toplevel 类 有助于通过主应用程序的内部小部件进行通信。Toplevel  窗口就是一个顶级类的示例,它显示除应用程序主窗口之外的子窗口。 Toplevel 窗口的工作方式与 Tk 相同,因为它也可以包含小部件和功能。

示例

#导入所需的库
from tkinter import *

#创建 Tkinter Frame 的实例
win = Tk()

#设置几何图形
win.geometry("700x350")

#设置窗口的默认颜色
win.config(bg= '#acc7df')

def open_win():
   #创建一个按钮来打开 Toplevel 窗口
   top= Toplevel(win)
   top.geometry("700x250")
   top.title("子窗口")
   #在顶层窗口中创建一个标签
   Label(top, text= "Hello World!")

   Button(win, text= "Click Me", background= "white", foreground= "red3", font= ('Helvetica 13 bold'), command= open_win).pack(pady= 50)
win.mainloop()

输出

运行上述代码将显示一个包含按钮的窗口。

现在,单击"Click Me"按钮打开一个子窗口。


相关文章


有用资源