将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
相关产品推荐
相关产品推荐

