微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

关闭 tkinter 窗口后的任务

如何解决关闭 tkinter 窗口后的任务

tkinter 窗口关闭后,我的程序必须执行一些任务。

当按下'X'按钮时,它应该打印“窗口已关闭,怎么办”???

我的代码

from tkinter import *
root = Tk()
Label(root,text = "This is for stackoverflow('X' button clicked code)").pack()
root.mainloop()

实际上我正在寻找类似返回值的东西...

解决方法

您可以使用 WM_DELETE_WINDOW 协议来检测根窗口是否关闭。

root.protocol("WM_DELETE_WINDOW",lambda: print ("The window is closed."))

此外,mainloop() 是一种保持 GUI 运行的 while 循环。

你也可以在后面加上print('The window is closed.')

root.mainloop()
print('The window is closed.')
,

尝试在 mainloop() 结束后打印语句。看看@BryanOakley 的评论 -

root.mainloop()
print("The window is closed")

在关闭窗口或主循环结束之前,print 语句不会运行

编辑 - 也许这样的事情会奏效 -

import tkinter as tk

root = tk.Tk()

l = tk.Label(root,text='hiiii')
l.pack()

root.mainloop()

print('The application is closed,new window opening')


win = tk.Tk()

l = tk.Label(win,text='byeee')
l.pack()

win.mainloop()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。