【问题标题】:OS "Save As", "Select File", & "Choose Directory" Dialogs执行“另存为”、“选择文件”和“选择目录”对话框
【发布时间】:2018-05-07 21:16:24
【问题描述】:

在我的脚本中,我希望弹出一个对话框,用户可以在其中弹出一个对话框

  1. 选择特定文件,
  2. 选择一个目录,
  3. 将文件保存到特定目录。

所有常见的操作系统都带有这三个对话框,例如 KDE 中的“另存为”对话框:

有没有一种调用函数的方法:

  1. 返回所选文件的路径?
  2. 返回所选目录的路径?
  3. 将一些创建的文件保存到选定的目录?

感觉这应该是可用的,但是我很难找到任何可以处理这种事情的包。包os 起初似乎很有希望,但没有运气。 正如this thread 中讨论的那样,我不想要任何使用 tkinter 的自定义外观。但是,该代码确实可以满足我对要求 2 的要求。)。

有什么提示吗?

编辑:我使用的是 Kubuntu 17.10 和 Python 2.7.14。

【问题讨论】:

  • tkinter 模块有许多用于此类事情的对话框。 from tkinter.filedialog import askopenfilename, import tkinter.messagebox, import tkinter.simpledialog.
  • 还有一个名为easygui 的第三方模块可能就是你所需要的。
  • 感谢您的回答。我发现 tkinter 解决方案非常难看,easygui 也不是很漂亮。我希望得到与操作系统提供的完全相同的对话框。
  • 我相信这是可以做到的,因为跨应用程序的对话框是相同的,例如。用于在 Firefox 中保存 .html 文件的相同“另存为”框和 . txt 一个文本编辑器。
  • 在 windows 和 OSX 上,您确实获得了与操作系统通过 tkinter 提供的相同对话框。

标签: python dialog


【解决方案1】:

你在 tkinter 中有它

from tkinter.filedialog import askopenfile

对于 py3,对于 py2,导入有点不同,但文档会告诉您。您可以通过这种方式获取所有标准文件对话框。

主要是你需要用 tkinter 制作一个小的 gui-app。

【讨论】:

  • 我知道使用 tkinter 可以获得此功能(请参阅链接)。但是,它们的外观并不是很好。我想要与操作系统对话框相同的功能和外观。
  • 好吧,至少在我的计算机上,文件对话是本地的,但是如果您制作自己的窗口或使用例如当然不是本地的消息对话。请注意,您实际上并不需要显示 tkinter 窗口来打开文件对话框。无论如何,也许 Toga (beeware) 就是你正在寻找的东西。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-02-19
  • 2014-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-12
  • 2011-04-05
相关资源
最近更新 更多