我正在使用tkinter构建的GUI的一部分,其中有一个弹出窗口显示“程序运行时,请稍等。”然后在完成后窗口会消失。我使用widget.after命令打开窗口并运行命令。但是,如果我传递函数调用参数,则弹出窗口永远不会出现。以下是示例:
def backupWindow
self.restoreCB = Toplevel()
message = "Please wait while backup runs"
Label(self.restoreCB, text=message, padx=100, pady=20).pack()
widget.after(10, self.runBackup)
def runBackup(self):
<backup code>
self.backupCB.destroy()
这段代码运行良好,实现了我的需求,窗口在备份运行时弹出,备份完成后关闭。然而,如果我像下面的代码一样从widget.after中传递参数<<please_wait>>
,则“请稍等”消息将永远不会显示。
def backupWindow
self.restoreCB = Toplevel()
message = "Please wait while backup runs"
Label(self.restoreCB, text=message, padx=100, pady=20).pack()
widget.after(10, self.runBackup(mybackup))
def runBackup(self,mybackup):
<backup code using mybackup>
self.backupCB.destroy()
widget.after(10, None)
,因为没有返回语句的函数返回None
。 - l4mpi