python – 关闭文件对话框后Tkinter窗口未关闭
发布时间:2020-12-20 11:41:39 所属栏目:Python 来源:网络整理
导读:我想在选择文件后关闭“文件打开”对话框.目前使用我的代码,我可以选择一个文件,但文件打开对话框保持打开状态,直到我单击“X”.选择文件后,如何关闭此窗口. 这是我的代码: import sysfrom tkinter import *from tkinter.filedialog import askopenfilename
我想在选择文件后关闭“文件打开”对话框.目前使用我的代码,我可以选择一个文件,但文件打开对话框保持打开状态,直到我单击“X”.选择文件后,如何关闭此窗口.
这是我的代码: import sys from tkinter import * from tkinter.filedialog import askopenfilename fname = "unassigned" def openFile(): global fname fname = askopenfilename() if __name__ == '__main__': b = Button(text='File Open',command = openFile).pack(fill=X) mainloop() print (fname) 解决方法
文件对话框正好关闭.我想您要说的是,从对话框中选择文件后,您创建的用于按住按钮的Tkinter窗口没有关闭.要做到这一点,您需要重新调整程序.
首先,您需要显式创建一个Tk窗口来按住按钮: root = Tk() 然后,您应该将此窗口列为按钮的父级: Button(root,text='File Open',command = openFile).pack(fill=X) # ^^^^ 最后,您应该在openFile的末尾调用根窗口的destroy方法: root.destroy() 这将导致窗口关闭,Tkinter主循环退出. 总之,您的脚本将如下所示: import sys from tkinter import * from tkinter.filedialog import askopenfilename fname = "unassigned" def openFile(): global fname fname = askopenfilename() root.destroy() if __name__ == '__main__': root = Tk() Button(root,command = openFile).pack(fill=X) mainloop() print (fname) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |