ttk 关闭子窗口返回主窗口 用什么方法?
时间: 2023-06-16 09:08:22 浏览: 147
在 Tkinter 中,可以使用 `withdraw()` 方法隐藏子窗口,然后使用 `deiconify()` 方法显示主窗口来实现关闭子窗口返回主窗口的效果。下面是一个示例代码:
```
import tkinter as tk
class App(tk.Tk):
def __init__(self):
super().__init__()
self.withdraw() # 隐藏主窗口
self.title('主窗口')
self.geometry('200x100')
btn = tk.Button(self, text='打开子窗口', command=self.open_window)
btn.pack(padx=20, pady=20)
def open_window(self):
child = tk.Toplevel(self)
child.title('子窗口')
child.geometry('200x100')
btn = tk.Button(child, text='关闭子窗口', command=self.close_window)
btn.pack(padx=20, pady=20)
def close_window(self):
# 隐藏子窗口
self.children['!toplevel'].withdraw()
# 显示主窗口
self.deiconify()
if __name__ == '__main__':
app = App()
app.mainloop()
```
在这个例子中,我们使用了 `withdraw()` 方法隐藏了主窗口,当我们点击“打开子窗口”按钮时,会打开一个子窗口。当我们在子窗口中点击“关闭子窗口”按钮时,会调用 `close_window()` 方法,该方法会使用 `withdraw()` 方法隐藏子窗口,并使用 `deiconify()` 方法显示主窗口。这样就实现了关闭子窗口返回主窗口的效果。
阅读全文