如何在 Tkinter 中创建子窗口并与父窗口通信?


与其他 Python 库不同,Tkinter 拥有许多用于创建完整应用程序的功能。它支持多个窗口操作和线程,用于在 Windows 上处理操作。

接下来,我们将创建一个应用程序,该应用程序将从根窗口提取数据并将其放入子窗口。子窗口的概念可以称为对话框,在事件发生期间向用户显示一些信息。在 Tkinter 中,使用 **Toplevel(root)** 构造函数可以非常轻松地创建子窗口。

示例

在这个示例中,我们将在主窗口中创建一个条目部件和一个按钮。此外,按钮将提取存储在条目部件中的数据,并在新窗口或子窗口中显示输入值。

#Import tkinter library
from tkinter import *
from tkinter import ttk
#Create an instance of tkinter frame or window
win= Tk()
#Set the geometry of tkinter frame
win.geometry("750x250")
win.title("Main Window")
#Define a function to Open a new window
def open_win():
   child_win= Toplevel(win)
   child_win.title("Child Window")
   child_win.geometry("750x250")
   content= entry.get()
   Label(child_win, text=content, font=('Bell MT', 20, 'bold')).pack()
   win.withdraw()
#Create an Entry Widget
entry=ttk.Entry(win, width= 40)
entry.pack(ipady=4,pady=20)
#Let us create a button in the Main window
button= ttk.Button(win, text="OK",command=open_win)
button.pack(pady=20)
win.mainloop()

输出

当我们执行上述代码时,它将显示一个窗口,其中包含一个条目部件和一个用于打开新窗口的按钮。

在条目部件中输入一些内容,然后点击“确定”按钮,

更新于: 2021年4月22日

2K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告