我已经创建了一个tkinter应用程序,让用户可以在本地创建和参加测验。不幸的是,如果用户通过点击角上的“x”而不是点击主菜单上的“退出”按钮来关闭窗口,则窗口被破坏,但进程仍在后台。这不是一个大问题,因为它停止使用任何CPU,每个示例只保留大约40MB的内存,但对于我想部署的应用程序来说,这似乎相当草率。
我不知道当窗口关闭时拒绝退出的具体原因是什么,因为它可能来自我1700行代码中的几乎任何地方,所以我正在寻找一些更通用的提示,用于识别仍在运行的内容或在窗口关闭时杀死任何剩余的进程。如果有人认为我的代码有帮助,我很乐意提供它,尽管我重申,由于我无法确定特定问题的根源,它相当长。
2条答案
按热度按时间tct7dpnv1#
您可以从
Tk
使用state()
来检查窗口是否打开。当窗口打开时,它应该返回'normal'
,如果窗口没有打开,它将返回其他内容。我要做的是添加一些东西来检查窗口的状态,并在窗口关闭时退出应用程序。
vxf3dgd42#
我在Tkinter应用程序中遇到过类似的问题。我从this post那里了解到,我可以像这样为窗口删除设置回调:
您可以将
closing_cbk()
的内容替换为“sys.exit()
”或其他对您的特定应用程序更有意义的内容。