You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将Tkinter窗口destroy方法移至按钮调用函数中遇问题求助

Tkinter自定义函数关闭Toplevel窗口问题解决

你的问题核心在于Close函数里的错误写法:你只是给command变量赋值了UpdateWindow.destroy方法对象,但并没有实际调用这个方法。要关闭窗口,必须主动执行destroy()方法。

修正后的Close函数代码如下:

def Close():
    tkMessageBox.showwarning('', 'Close function called', icon="warning")
    UpdateWindow.destroy()  # 直接调用destroy方法,而非赋值

额外补充两个注意点:

  • 确保UpdateWindow变量在Close函数的作用域内可访问(比如定义为全局变量,或者通过参数传递给函数)
  • 按钮的command参数里,lambda:[UpdateData(), Close()]的写法可以正常工作,但更简洁清晰的写法可以改成:lambda: (UpdateData(), Close())

内容的提问来源于stack exchange,提问作者Ashton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 15:55:33