3

我在 mac osx 10.9 上使用 python 2.7 来创建应用程序。此应用程序将文件名作为参数,然后打开文件,并持续监视文件的更改直到文件关闭。

它适用于单个文件。我使用 py2app 和 platypus 将 python 代码 .py 文件转换为应用程序。

它的限制是,一旦启动应用程序的实例(进程)(通过单击要打开的任何文件),文件就会打开。但是,同时,我无法一次打开两个文件,即启动到应用程序实例。通过终端,可以启动一个应用程序的多个实例。

然后,我应该怎么做,一次打开多个文件,通过这个应用程序一次单击多个文件。

4

1 回答 1

2

这不是真正的 py2app 问题,而是由平台的工作方式引起的:当用户尝试打开与已在运行的应用程序关联的文件时,系统不会启动应用程序的第二个实例,而是发送已经运行应用程序一个事件来告诉它打开新文件。

要处理多个文件,您应该实现某种 GUI 事件循环(使用 PyObjC,Tk,...),可用于接收当用户尝试为已运行的应用程序打开文件时发送的 OSX 事件。

于 2014-04-17T13:38:43.067 回答