16 Toplevel 组件
Tkinter 的 Toplevel 组件用于创建新的顶级窗口。这在需要创建多个窗口的应用程序中非常有用,例如,一个主窗口和多个辅助窗口。Toplevel 窗口可以包含各种控件,如按钮、文本框等,并且可以独立于主窗口进行操作。以下是对 Toplevel 组件的详细说明和一个使用案例。
Toplevel 组件属性
title
: 设置窗口的标题。geometry
: 设置窗口的大小和位置,格式为 “宽度x高度+X偏移+Y偏移”。resizable
: 控制窗口是否可以调整大小,可以设置为(width, height)
元组,其中True
表示可调整,False
表示不可调整。
创建 Toplevel 窗口
Toplevel(parent=None, **kw)
: 创建一个新的顶级窗口,parent
参数用于指定父窗口。
使用案例
以下是一个使用 Toplevel 组件的案例,创建一个主窗口和一个辅助窗口。
import tkinter as tk
def create_new_window():
# 创建一个新的顶级窗口
new_window = tk.Toplevel()
new_window.title("New Toplevel Window")
new_window.geometry("300x200+300+300") # 设置窗口大小和位置
# 在新窗口中添加一个标签
label = tk.Label(new_window, text="This is a Toplevel window")
label.pack(pady=20)
# 添加一个按钮,点击后关闭新窗口
close_button = tk.Button(new_window, text="Close", command=new_window.destroy)
close_button.pack(pady=10)
root = tk.Tk()
root.title("Main Window")
# 创建一个按钮,点击后会创建一个新的顶级窗口
open_button = tk.Button(root, text="Open New Window", command=create_new_window)
open_button.pack(pady=50)
root.mainloop()
在这个案例中,我们首先导入了tkinter模块。然后定义了一个函数create_new_window
,该函数用于创建一个新的顶级窗口。
接着,我们创建了Tkinter的主窗口实例,并设置了窗口标题。然后,我们添加了一个按钮open_button
,当点击这个按钮时,会调用create_new_window
函数,创建一个新的顶级窗口。
在create_new_window
函数中,我们创建了一个新的Toplevel窗口,并设置了标题和大小位置。我们还向这个新窗口中添加了一个标签和一个按钮。标签显示文本信息,按钮则用于关闭这个新创建的窗口。
最后,通过调用root.mainloop()
启动Tkinter的事件循环,这使得主窗口保持打开状态,等待用户的交互操作。
通过这个例子,我们可以看到如何使用 Toplevel 组件来创建新的窗口,并在其中添加控件。我们可以根据需要扩展这个例子,添加更多的功能和样式。