在 tkinter 中使用 destroy root 消失但脚本保持 运行
Using destroy in tkinter the root disappear but the script keeps running
我已经完成了一个处理一些图像的脚本,最后它会询问您要将文件保存到哪里。我使用 tkinter(下面的代码)制作了它。它工作正常,我唯一的问题是:
我有一个与函数 destroy
链接的退出按钮,当我单击它时,root 已关闭,但脚本仍然是 运行,没有出现错误,我必须停止它手动。如果我使用 quit
脚本停止,但根 window 冻结并且内核错误出现重新启动 python。我尝试在 root.mainloop
之后使用 sys.exit()
但脚本没有退出循环。希望大家帮忙,谢谢
我正在使用 Spider,python 3.7.6,Ipython 7.19.0
root = Tk()
root.geometry('200x150')
# function to call when user press
# the save button, a filedialog will
# open and ask to save file
def save():
filename2 = filedialog.asksaveasfile(mode='wb+',defaultextension=".tif", title="Choose filename")
if not filename2:
return
imwrite(filename2, stack, imagej=True)#
# root.destroy()
button_save = Button(root, text = 'Save', command = lambda : save())
button_save.grid(row=1,column=2)
button_exit=Button(root,text='Exit program', command=root.destroy)
button_exit.grid(row=5,column=2)
root.mainloop()
好的,我解决了,也许对以后的人有帮助。
我定义了一个新的退出函数如下:
def _quit():
root.quit()
root.destroy()
button_exit=Button(root,text='Exit program', command=_quit)
我已经完成了一个处理一些图像的脚本,最后它会询问您要将文件保存到哪里。我使用 tkinter(下面的代码)制作了它。它工作正常,我唯一的问题是:
我有一个与函数 destroy
链接的退出按钮,当我单击它时,root 已关闭,但脚本仍然是 运行,没有出现错误,我必须停止它手动。如果我使用 quit
脚本停止,但根 window 冻结并且内核错误出现重新启动 python。我尝试在 root.mainloop
之后使用 sys.exit()
但脚本没有退出循环。希望大家帮忙,谢谢
我正在使用 Spider,python 3.7.6,Ipython 7.19.0
root = Tk()
root.geometry('200x150')
# function to call when user press
# the save button, a filedialog will
# open and ask to save file
def save():
filename2 = filedialog.asksaveasfile(mode='wb+',defaultextension=".tif", title="Choose filename")
if not filename2:
return
imwrite(filename2, stack, imagej=True)#
# root.destroy()
button_save = Button(root, text = 'Save', command = lambda : save())
button_save.grid(row=1,column=2)
button_exit=Button(root,text='Exit program', command=root.destroy)
button_exit.grid(row=5,column=2)
root.mainloop()
好的,我解决了,也许对以后的人有帮助。
我定义了一个新的退出函数如下:
def _quit():
root.quit()
root.destroy()
button_exit=Button(root,text='Exit program', command=_quit)