如何在我自己的程序中使用Mac文件选择菜单?

时间:2015-10-15 22:47:56

标签: macos path

在我使用过的几乎任何桌面应用程序中,都可以使用看起来像Finder的标准文件导航器来选择打开或保存文件的路径。例如,如果我去保存此网页, this menu comes up,我可以选择保存位置,创建新文件夹等。是否有系统调用从我自己的程序启动此菜单,并且可能返回所选文件或文件夹的路径?

2 个答案:

答案 0 :(得分:0)

查看NSOpenPanel

它完全符合您的要求:

  

NSOpenPanel类为Cocoa用户界面提供了Open面板。应用程序使用“打开”面板作为查询用户要打开的文件名称的便捷方式。

答案 1 :(得分:0)

如果有人看到这个,那么JohannesWeiß的回答是正确的:NSOpenPanel正是我想要的。在Python中,它的代码如下所示:

from AppKit import NSOpenPanel
# the following import is only used to prevent multiselect and directory select
from objc import NO
panel = NSOpenPanel.openPanel()

# set the title (not required)
panel.setTitle("open file")

# prevent multiselect and directory select (not required)
panel.setAllowsMultipleSelection_(NO)
panel.setCanChooseDirectories_(NO)

# open the panel
panel.runModal()

# get the path
path = panel.filenames()[0]

可以找到更长的例子here