当前位置: 首页 > 面试题库 >

拦截Tkinter的“退出”命令?

裴凯定
2023-03-14
问题内容

我正在用Tkinter用Python编写一个客户端-服务器程序。我需要服务器来跟踪连接的客户端。为此,我希望客户端在单击退出按钮(角落的标准“
X”)后向服务器发送一条自动消息。我怎么知道用户何时退出程序?


问题答案:

您要使用顶级窗口的wm_protocol方法。具体来说,您对WM_DELETE_WINDOW协议感兴趣。如果使用该方法,则它允许您注册在销毁窗口时调用的回调。

用法:

root.protocol("WM_DELETE_WINDOW", app.on_delete)


 类似资料:
  • 问题内容: 在我的系统中编辑页面时,用户可能会决定导航到另一个网站,这样做可能会丢失他们尚未保存的所有编辑。 我想拦截任何尝试转到另一个页面的尝试,并提示用户确保他们希望这样做,因为他们可能会丢失当前的工作。 Gmail的执行方式与此非常相似。例如,撰写一封新电子邮件,开始在邮件正文中键入内容,然后在地址栏中输入新位置(例如twitter.com等)。它将提示您“确定吗?” 想法如何复制这个?我的

  • 拦截文件 bp CreateFileA 创建或打开文件 (32位) bp OpenFile 打开文件 (32位) bp ReadFile 读文件 (32位) bp WriteFile 写文件 (32位) bp GetPrivateProfileStringA (ini文件)

  • 拦截时间 bp GetLocalTime 获取本地时间 bp GetSystemTime 获取系统时间 bp GetFileTime 获取文件时间 bp GetTickCount 获得自系统成功启动以来所经历的毫秒数 bp GetCurrentTime 获取当前时间(16位) bp SetTimer 创建定时器 bp TimerProc 定时器超时回调函数

  • 拦截窗口 bp CreateWindow 创建窗口 bp CreateWindowEx(A) 创建窗口 bp ShowWindow 显示窗口 bp UpdateWindow 更新窗口 bp GetWindowText(A) 获取窗口文本

  • 拦截注册表 bp RegOpenKey(A) 打开子健 bp RegOpenKeyEx 打开子健 bp RegQueryValue(A) 查找子健 bp RegQueryValueEx 查找子健 bp RegSetValue(A) 设置子健 bp RegSetValueEx(A) 设置子健

  • 拦截消息框 bp MessageBox(A) 创建消息框 bp MessageBoxExA 创建消息框 bp MessageBoxIndirect(A) 创建定制消息框