【问题标题】:Tkinter dialog to open file or directoryTkinter 对话框打开文件或目录
【发布时间】:2018-12-06 11:46:35
【问题描述】:

我有一个工具,可以通过按钮打开对话框。有一个文件对话框按钮和一个目录对话框按钮。我想知道 Tkinter 中是否有什么东西可以让我有一个按钮来打开一个对话框,除了文件或目录。所以我想从两个不同的对话框变成一个。 Tkinter 中是否有类似的东西,或者是否可以创建它?可能类似于扩展过滤器,但您可以选择是要选择文件还是目录。

提前致谢!

【问题讨论】:

  • tkinter.filedialog 的标准对话框无法做到这一点,但您可以使用ttk.Treeview 创建自己的对话框。我为 Linux 制作了自己的 filebrowser,尽管我已将文件选择与目录选择分开,但您可能可以对其进行调整以执行您想要的操作。
  • 谢谢你,我会试试这个,如果我发现了会报告。

标签: python-3.x tkinter dialog


【解决方案1】:

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

这是我使用的代码:

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)

【讨论】:

    猜你喜欢
    • 2012-03-03
    • 1970-01-01
    • 2010-12-27
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 2010-12-11
    • 1970-01-01
    相关资源
    最近更新 更多