使用类,我创建了一个带有隐藏窗口并创建新窗口的按钮的窗口。我的问题是如何在新窗口中创建一个按钮,该按钮会自行销毁并返回主窗口?
from tkinter import *
class Demo1:
def __init__(self, master):
self.master = master
self.button1 = Button(self.master, text = 'New Window', width = 25, command = self.new_window)
self.button1.pack()
def new_window(self):
self.master.withdraw() #Hides main window
self.newWindow = Toplevel()
app = Demo2(self.newWindow)
class Demo2:
def __init__(self, master):
self.master = master
self.quitButton = Button(self.master, text = 'Quit', width = 25, command = self.close_windows)
self.quitButton.pack()
def close_windows(self):
#What do I put here to bring back the main window?
self.master.destroy()
def main():
root = Tk()
app = Demo1(root)
root.mainloop()
main()
最佳答案
您正在寻找的是deiconify .
from tkinter import *
class Demo1:
def __init__(self, master):
self.master = master
self.button1 = Button(self.master, text = 'New Window', width = 25, command = self.new_window)
self.button1.pack()
def new_window(self):
self.master.withdraw() #Hides main window
self.newWindow = Toplevel()
app = Demo2(self.newWindow,self.master)
class Demo2:
def __init__(self, master,oldmaster):
self.master = master
self.quitButton = Button(self.master, text = 'Quit', width = 25, command = lambda:self.close_windows(oldmaster))
self.quitButton.pack()
def close_windows(self,oldmaster):
#What do I put here to bring back the main window?
oldmaster.deiconify()
self.master.destroy()
def main():
root = Tk()
app = Demo1(root)
root.mainloop()
main()
关于python - 如何恢复主窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23651103/