这很难解释,所以我会尽我所能。
我有一个主程序窗口,其中有一个名为“备份/恢复”的按钮。按此按钮打开一个新窗口,其中有两个按钮可供选择; “备份还原”。按下其中任何一个按钮将打开第三个窗口,其中包含有关执行操作的信息。第一次运行“备份”或“恢复”时,一切都很好。如果我用它上面的两个按钮关闭第二个窗口;然后按下主窗口中的“备份/恢复”按钮,它将带有两个按钮的第二个窗口按原样返回,但标记为“备份”和“恢复”的按钮在单击时不执行任何操作。第二个窗口关闭一次后,第三个窗口上的按钮仅失去其功能。
创建窗口时,我使用代码:
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>
主窗口的代码太大而无法发布,我不确定是否有任何部分会有所帮助。
答案 0 :(得分:3)
...调用Toplevel窗口的函数(&#34; def backup(self):&#34;)与Toplevel窗口本身同名(&#34; self.backup = Toplevel() &#34;),这可能是问题的原因。 与&#34;恢复&#34;相同选项。
我有这样的事情,我改名后一切都好。