Tkinter-退出而不保存 - 警告对话框或询问

时间:2016-04-13 21:49:02

标签: python tkinter

退出而不保存

如何编写 退出 功能,如果用户退出而未保存,则应该弹出一个问题

def main(self):
    ...
    file.add_command(label="New",command=lambda: self.new())
    file.add_command(label="Open",command=lambda: self.load())
    file.add_command(label="Save",command=lambda: self.save())
    file.add_command(label="Exit",command=self.exit)
    menu.add_cascade(label="File",menu=file)

def exit(self):
        result = askquestion("Exit", "Are You Sure Without Saving?", icon='warning')
        if result == "yes":
            exit()
        else:
            return False

1 个答案:

答案 0 :(得分:1)

有一个名为

全局变量
hasBeenSaved = False

调用save()函数时,将全局布尔值hasBeenSaved切换为True

如果用户其他其他更改文件,请将hasBeenSaved设置回False

现在,当您通过exit()函数时,如果hasBeenSavedFalse,则提示用户:

  

“你确定要在不保存的情况下退出吗?”

希望这有帮助!