用于打开文件或目录的Tkinter对话框

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用于打开文件或目录的Tkinter对话框相关的知识,希望对你有一定的参考价值。

我有一个工具,可以用按钮打开一个对话框。有一个文件对话框按钮和一个目录对话框按钮。我想知道Tkinter中是否有一些东西我可以有一个按钮打开一个除了文件或目录之外的对话框。所以我想从两个不同的对话框转到一个。在Tkinter有这样的东西,还是可以创造这个?也许类似于扩展过滤器,但您可以选择是否要选择文件或目录。

提前致谢!

答案

我以不同的方式解决了它。唯一的缺点是我无法选择多个文件或文件夹,但除此之外它完全符合我的要求。

这是我使用的代码:

mydocs_pidl = shell.SHGetFolderLocation(0, shellcon.CSIDL_DRIVES, 0, 0)
    pidl, display_name, image_list = shell.SHBrowseForFolder(
        win32gui.GetDesktopWindow(),
        mydocs_pidl,
        "Select a file or folder",
        shellcon.BIF_BROWSEINCLUDEFILES,
        None,
        None
    )

if (pidl, display_name, image_list) == (None, None, None):
    print("No file or directory selected!")
else:
    path = str(shell.SHGetPathFromIDList(pidl))
    print(path)

以上是关于用于打开文件或目录的Tkinter对话框的主要内容,如果未能解决你的问题,请参考以下文章

井字棋,叫上同桌来一把?

文件对话框、tkinter 和打开文件

Python.tkinter.打开对话框选择文件文件夹

如何成功关闭 Tkinter 对话框并存储变量?

python 打开文件对话框 filedialog tkinter GUI 编程

什么可能导致 Tkinter/Python 中打开的文件对话框窗口在用户选择文件后关闭速度真的很慢?