【发布时间】:2020-09-02 13:21:26
【问题描述】:
我使用 Python 中的 tkinter 库开发了一个 Mac 应用程序。如果我通过应用程序上的 File--> Close(或)关闭按钮关闭,它会正确关闭,但如果我通过菜单栏中的 Quit 选项关闭,它会挂起。我只是想调用 on_closure 函数来正确关闭应用程序,但我不知道在从菜单栏中按下退出按钮时如何调用该函数。
def on_closing():
app.destroy()
app.protocol("WM_DELETE_WINDOW", on_closing)
我正在使用 Python 3.8 和 Mac 环境。 你能帮我解决这个问题吗?如果我们按应用程序名称(mediavalet)关闭--> 退出,它就开始挂起。要正确终止,我们需要调用 on_closure 方法。
更新:
应用程序中的菜单栏默认由 MAC 创建。我们需要在按下退出按钮时关闭应用程序。
【问题讨论】:
-
app.protocol("WM_DELETE_WINDOW", on_closing)可以是代码中除函数之外的任何其他位置,但在on_closing()内部,例如app.destroy()或root.destroy() -
注意,您用我的答案更新了 Q,不建议用其中一个答案更新 Q。
-
我刚刚更新了问题,是语法错误
-
@T.SURESH 请检查更新后的答案。如果这仍然不起作用,您必须向我们提供 MINIMUM REPRODUCIBLE EXAMPLE
标签: python python-3.x macos tkinter