我在另一个类中创建了TopLevel类的实例,但无法“撤回()”子窗口 通过家长的电话
import tkinter as tk
class Table(tk.Toplevel):
def __init__(self, master):
tk.Toplevel.__init__(self,master)
self.var_new_t=tk.Toplevel(self.master)
self.t2=Table_2(self.var_new_t)
#Goal is to create a child window and immediately hide it.
self.t2.hide_me()
#self.t2.withdraw() ##Tried a few differnt ways
class Table_2(tk.Toplevel):
def __init__(self, master):
tk.Toplevel.__init__(self,master)
self.master = master
label = tk.Label(self.master, bg='green', text='Second Table')
label.grid()
def hide_me(self):
self.master.withdraw()
root = tk.Tk()
n= Table(root)
tk.Button(root, text="Quit", command=root.destroy).pack()
root.mainloop()
我尝试了一些其他的变化,但没有成功
您的代码正在创建两个窗口。考虑这个代码:
Table
是顶级窗口,因为它继承自Toplevel
。因此,此行创建了Table
窗口:然后,在执行此操作时创建另一个窗口:
如果从
Toplevel
继承,通常不应在内部创建第二个Toplevel
,除非明确打算创建两个窗口您的代码需要如下所示:
相关问题 更多 >
编程相关推荐