Python Tkinter子窗口关闭后无法重新打开

Python Tkinter子窗口关闭后无法重新打开,python,tkinter,window,Python,Tkinter,Window,这很难解释,所以我会尽力的 我有一个主程序窗口,其中有一个按钮叫做“备份/恢复”。按下此按钮将打开一个新窗口,其中有两个按钮可供选择;“备份”和“恢复”。按下这两个按钮中的任何一个将打开第三个窗口,其中包含有关执行操作的信息。在我第一次运行“备份”或“恢复”时,一切都很好。如果我用两个按钮关闭第二个窗口;然后按下主窗口中的“备份/恢复”按钮,它将按原样返回第二个窗口,其中有两个按钮,但单击时标记为“备份”和“恢复”的按钮不起任何作用。只有在第二个窗口关闭一次后,第三个窗口上的按钮才会失去其功能

这很难解释,所以我会尽力的

我有一个主程序窗口,其中有一个按钮叫做“备份/恢复”。按下此按钮将打开一个新窗口,其中有两个按钮可供选择;“备份”和“恢复”。按下这两个按钮中的任何一个将打开第三个窗口,其中包含有关执行操作的信息。在我第一次运行“备份”或“恢复”时,一切都很好。如果我用两个按钮关闭第二个窗口;然后按下主窗口中的“备份/恢复”按钮,它将按原样返回第二个窗口,其中有两个按钮,但单击时标记为“备份”和“恢复”的按钮不起任何作用。只有在第二个窗口关闭一次后,第三个窗口上的按钮才会失去其功能

创建窗口时,我使用以下代码:

def exportEFS(self): #this is the second window with two buttons
  self.exportGUI = Toplevel()

  Button(self.exportGUI, text='Backup', command=self.backup).pack(padx=100,pady=5)
  Button(self.exportGUI, text='Restore', command=self.restore).pack(padx=100,pady=5

def backup(self): #this is the backup window that does not work if the second window has     
                   been closed once.
  self.backup = Toplevel()
  <button code>

def restore(self): #this is the backup window that does not work if the second window has     
                   been closed once.
  self.restore = Toplevel()
  <button code>
def exportEFS(self):#这是第二个有两个按钮的窗口
self.exportGUI=Toplevel()
按钮(self.exportGUI,text='Backup',command=self.Backup).pack(padx=100,pady=5)
按钮(self.exportGUI,text='Restore',command=self.Restore).pack(padx=100,pady=5
def backup(self):#如果第二个窗口已关闭,则此备份窗口不起作用
曾经关闭过一次。
self.backup=Toplevel()
def restore(self):#如果第二个窗口已关闭,则此备份窗口不起作用
曾经关闭过一次。
self.restore=Toplevel()

主窗口的代码太大,无法发布,我不确定是否有任何部分会有所帮助。

…调用顶级窗口(“def备份(self):”)的函数与顶级窗口本身具有相同的名称(“self.backup=Toplevel()”),这可能是问题的原因。 与“还原”选项相同


我有过类似的情况,更改名称后一切正常。

…调用顶级窗口(“def backup(self):”)的函数与顶级窗口本身具有相同的名称(“self.backup=topflevel()”),这可能是问题的原因。 与“还原”选项相同


我曾经有过这样的经历,改名后一切都很好。

这就是问题所在。接得好。谢谢!自己的错误总是最容易识别的:)这就是问题所在。接得好,谢谢!自己的错误总是最容易识别的:)