Tkinter的顶层:防止两个窗口打开

2024-05-18 05:13:41 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一些简单的代码,比如:

from Tkinter import *
root = Tk()
app = Toplevel(root)
app.mainloop()

这将打开两个窗口:Toplevel(root)窗口和Tk()窗口。

是否可以避免打开Tk()窗口(root)?如果是,怎么做?我只想要顶级的。我希望这样做是因为我正在制作一个程序,它将打开多个窗口,这些窗口都是Toplevelroot

谢谢!


Tags: 代码fromimport程序apptkinterroot顶级
1条回答
网友
1楼 · 发布于 2024-05-18 05:13:41

^{}方法从屏幕上删除窗口。
^{}方法最小化窗口,或将其转换为图标。
^{}方法将重新绘制窗口,并/或激活它。

如果您选择withdraw(),请确保在测试之前考虑了退出程序的新方法。
e、 g

from Tkinter import * # tkinter in Python 3

root = Tk()
root.withdraw()

top = Toplevel(root)
top.protocol("WM_DELETE_WINDOW", root.destroy)

but = Button(top, text='deiconify')
but['command'] = root.deiconify
but.pack()

root.mainloop()

^{}方法可用于注册一个函数,当
按下顶层窗口的“关闭”按钮。在这种情况下,我们可以使用^{}退出。

相关问题 更多 >