gpt4 book ai didi

python - 关闭文件对话框后 Tkinter 窗口不关闭

转载 作者:太空宇宙 更新时间:2023-11-03 13:16:15 24 4
gpt4 key购买 nike

我想在选择文件后关闭“文件打开”对话框。目前使用我的代码,我可以选择一个文件,但“文件打开”对话框保持打开状态,直到我单击“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结束时调用root窗口的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, text='File Open', command = openFile).pack(fill=X)
mainloop()

print (fname)

关于python - 关闭文件对话框后 Tkinter 窗口不关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29174300/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com