Python Tkinter关闭窗口
在创建Python Tkinter程序时,我希望创建一个按钮来关闭该程序。我已经试过了Python Tkinter关闭窗口,python,user-interface,tkinter,grid,exit,Python,User Interface,Tkinter,Grid,Exit,在创建Python Tkinter程序时,我希望创建一个按钮来关闭该程序。我已经试过了 #with master = Tk() master.quit() 方法。它对我的程序完全没有任何影响——除了停止任何工作之外,尽管我没有收到任何回溯 我尝试过的另一种方法是: #with master = Tk() master.destroy() 这再次对我的程序没有任何影响-它确实给了我一个回溯错误,尽管它是: _tkinter.TclError: can't invoke "button" com
#with master = Tk()
master.quit()
方法。它对我的程序完全没有任何影响——除了停止任何工作之外,尽管我没有收到任何回溯
我尝试过的另一种方法是:
#with master = Tk()
master.destroy()
这再次对我的程序没有任何影响-它确实给了我一个回溯错误,尽管它是:
_tkinter.TclError: can't invoke "button" command: application has been destroyed
我的全部代码是:
from tkinter import *
master = Tk()
exitbutton = Button(master,text="Exit",(all the other personalization stuff here),command=(master.quit()))
#or I used master.destroy() in the command area.
exitbutton.grid(column=0,row=0)
上述方法均无效。
非常感谢
(将来)您希望将函数对象传递到command关键字中,因此不要使用括号。您还应该使用TKinter的destroy函数
exitbutton = Button(master,text="Exit",(all the other personalization stuff here),command=master.destroy)
必须传递函数名,而不是作为可调用函数传递:
from tkinter import *
master = Tk()
exitbutton = Button(master,text="Exit",command=master.destroy)##dont include the parentheses
##or I used master.destroy() in the command area.
exitbutton.grid(column=0,row=0)
这将解决您的问题。问题:
import tkinter as tk
master = tk.Tk()
exitbutton = tk.Button(master, text="Exit", command=master.quit) # you can also use master.destroy
exitbutton.grid(column=0, row=0)
master.mainloop()
- 唯一的问题是,在将函数(
或退出
)传递到销毁
时,使用括号按钮
,作为()
,这会导致在定义该函数的点执行该函数命令
import tkinter as tk
master = tk.Tk()
exitbutton = tk.Button(master, text="Exit", command=master.quit) # you can also use master.destroy
exitbutton.grid(column=0, row=0)
master.mainloop()
- 解决方案是在将函数(
或退出
)作为销毁
命令传递到
时,删除括号按钮
()
import tkinter as tk
master = tk.Tk()
exitbutton = tk.Button(master, text="Exit", command=master.quit) # you can also use master.destroy
exitbutton.grid(column=0, row=0)
master.mainloop()
- 由于导入all(
)不是一个好的做法,您应该*
将tkinter作为tk导入 或者你想要的任何东西。唯一的更改是在属于
的每个对象之前添加tkinter
tk.
import tkinter as tk
master = tk.Tk()
exitbutton = tk.Button(master, text="Exit", command=master.quit) # you can also use master.destroy
exitbutton.grid(column=0, row=0)
master.mainloop()
看到这个问题了吗