【问题标题】:File dialog in Mac to find appMac中的文件对话框以查找应用程序
【发布时间】:2014-11-30 14:27:12
【问题描述】:

我有一些 Python 代码在 Windows 和 Ubuntu Linux 上运行良好,但在 Mac 上出现问题。

我正在做的是向用户(在我的应用程序中)展示他在按下我的应用程序上的按钮时选择他想要打开的应用程序的能力(这样他就可以调用而不必每次都搜索它)

设置代码如下(简化):

self.app_opt = options = {}
options['title'] = 'Please choose an app from your computer'
options['initialdir'] = '~/'
chosen_app = "~/"
chosen_app = askopenfilename(parent = self.parent, **self.app_opt)
self.chosen_app = chosen_app

稍后,按钮被按下,按钮中的代码如下所示:

subprocess.Popen(self.chosen_app)

正如我所说,它在 Windows 中运行良好(我转到“程序文件”,选择一个可执行文件,一切都很好),当我按下按钮时它运行。同样在 Ubuntu 中——(我从 /usr/bin 中选择)并且当我按下按钮时应用程序运行良好。

尝试在 Mac 中执行此操作 - 作为示例,我们希望在按下按钮时打开 iTunes - 现在运行 iTunes 的真实应用程序位于例如

/Applications/iTunes.app/Contents/MacOS/iTunes

但我不能选择比

/Applications/iTunes.app

我需要在文件对话框中添加一些选项/设置以使其正常工作吗?

【问题讨论】:

    标签: python macos tkinter


    【解决方案1】:

    在问了朋友之后(感谢 DJ!)看来我的做法是错误的

    在 Mac 中我不应该打电话

    subprocess.Popen(self.chosen_app)
    

    但更像

    subprocess.Popen('open -a \"' + self.chosen_app + '\"')
    

    解释here

    将报告这是如何工作的

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-28
      相关资源
      最近更新 更多