gpt4 book ai didi

python - 当电脑关闭时触发一个函数 - tkinter

转载 作者:太空宇宙 更新时间:2023-11-03 18:21:34 24 4
gpt4 key购买 nike

我有一个 tkinter 程序,当您使用它时,会调用一个函数:

root.protocol('WM_DELETE_WINDOW', in_close)

其中 in_close 是被调用的过程。问题是当您关闭计算机时,不会重现此行为。就我的程序而言,当程序关闭或关闭机器时触发此函数是完全必要的。

为了以防万一,我使用的是 python 3.3.3。有谁知道当它被关闭时如何重现这个? :(

任何想法都将不胜感激!谢谢!!

最佳答案

我不知道 Tkinter 有一个特定的工具可以像您建议的那样捕获系统关闭。您最好注册一个可以捕获关闭信号并触发 in_close 函数的信号处理程序。

(也值得查看 here 以获取一些额外的详细信息)

import signal

def in_close(signum = None, frame = None):
# Here you can attempt to gently exit your application.
pass

# For some common signals that will close your program.
for sig in [signal.SIGTERM, signal.SIGINT, signal.SIGHUP, signal.SIGQUIT]:
signal.signal(sig, in_close)

正如评论中所指出的,这不是 Windows 有效的解决方案。有关处理 Windows 关闭事件的讨论,请参阅:

Python - Windows Shutdown Events

关于python - 当电脑关闭时触发一个函数 - tkinter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24027965/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com