tkinter如何设置父窗体子窗体
在Python中,我们经常会使用tkinter来创建GUI应用程序,其中一个常见的需求是在主窗体中显示子窗体。本文将介绍如何在tkinter中设置父窗体和子窗体,并提供一些示例代码来帮助读者更好地理解。
创建主窗体
首先,我们需要创建一个主窗体。以下是一个简单的示例代码,用于创建一个名为”Main Window”的主窗体:
import tkinter as tk
root = tk.Tk()
root.title("Main Window")
root.geometry("400x300")
root.mainloop()
运行上述代码,我们将得到一个空白的主窗体,窗口标题为”Main Window”,大小为400×300。
创建子窗体
要在主窗体中创建子窗体,我们可以使用Toplevel
类。下面是一个示例代码,用于在主窗体中创建一个名为”Sub Window”的子窗体:
import tkinter as tk
def open_sub_window():
sub_window = tk.Toplevel(root)
sub_window.title("Sub Window")
sub_window.geometry("200x150")
root = tk.Tk()
root.title("Main Window")
root.geometry("400x300")
btn = tk.Button(root, text="Open Sub Window", command=open_sub_window)
btn.pack()
root.mainloop()
运行上述代码,我们将在主窗体中看到一个按钮,点击该按钮将弹出一个子窗体,窗口标题为”Sub Window”,大小为200×150。
子窗体的关闭
当不再需要子窗体时,我们可以使用destroy()
方法来关闭子窗体。下面是一个示例代码,用于在点击按钮后打开子窗体,并在关闭子窗体时输出一条提示信息:
import tkinter as tk
def open_sub_window():
sub_window = tk.Toplevel(root)
sub_window.title("Sub Window")
sub_window.geometry("200x150")
def close_sub_window():
sub_window.destroy()
print("Sub Window closed.")
sub_btn = tk.Button(sub_window, text="Close", command=close_sub_window)
sub_btn.pack()
root = tk.Tk()
root.title("Main Window")
root.geometry("400x300")
btn = tk.Button(root, text="Open Sub Window", command=open_sub_window)
btn.pack()
root.mainloop()
运行上述代码,我们将看到一个按钮打开子窗体,每当关闭子窗体时,将在控制台输出”Sub Window closed.”的提示信息。
通过上述示例代码,我们学会了如何在tkinter中设置父窗体和子窗体。在实际应用中,可以根据需要定制主窗体和子窗体的样式和功能,以开发出更具吸引力和实用性的GUI应用程序。