Python保持Tkinter窗口打开?

2024-03-28 10:48:55 发布

您现在位置:Python中文网/ 问答频道 /正文

现在我正在使用Tkinter提示用户输入一个文件。在

Tk().withdraw() # keep the root window from appearing
file_path = askopenfilename() # show dialog box and return file path

# check if extension is valid

如果用户选择了错误的文件类型,我会用一个新窗口重新提示他们。在

有没有办法,相反,保持同一个窗口打开,除非所选的文件是有效的?在

所以不是这样:

^{pr2}$

我想这样做:

# 1) prompt user to open file
# 2) check if extension is valid while keeping window open
# 3) if not, print error, re-prompting with same window

感谢任何帮助。在


Tags: 文件path用户ifistkintercheckextension
0条回答
网友
1楼 · 发布于 2024-03-28 10:48:55

如果希望用户打开特定的文件类型,请使用filetypes参数。它接受文件类型定义的列表,您可以将其指定为说明和扩展名:

filepath = askopenfilename(filetypes = [
    ('Text Files', '.txt'),
    ('Python Scripts', '.py'),
    ('INI Files', '.ini')
])
网友
2楼 · 发布于 2024-03-28 10:48:55

可以将“文件浏览器”窗口设置为仅显示要用户选择的文件类型,但通过选择“类型”下拉框,可以轻松地解决这一问题。但是,您可以在“文件选择”(用户单击“确定”以选择文件并关闭“文件浏览器”窗口)时检查文件扩展名是否是所需的类型之一,如果不简单,请清除“文件路径”变量并再次调用“文件浏览器打开”函数。这样,在选择正确的文件类型之前,他们会被困在选择文件中。但是,这确实存在这样一个问题:可能不知道它们为什么会回到原来的位置,所以在重新打开“文件浏览器”窗口之前,您可能需要添加一个弹出窗口或其他内容,以使其更加用户友好。在

相关问题 更多 >