1

我最近开始使用 Tkinter,现在我想尝试 wxPython,但我有一个主要问题:在 Mac 上,Python 应用程序启动并运行 gui。我正在使用鸭嘴兽,所以 window 已经有一个应用程序可以“附加”到自己。为什么它也需要 Python.app?有没有办法解决这个问题?这种方法感觉就像在 Mac 上的 X11 内的 Wine 中运行 Windows 应用程序一样“组合在一起”。

4

1 回答 1

2

您为这项工作使用了错误的工具。Platypus 的全部意义在于它可以将非 GUI 脚本转换为 GUI 应用程序。“应用程序”和“窗口”对脚本是不可见的,它认为它只是通过 sys.argv 接收内容并写入标准输出。

Platypus 文档明确指出,Platypus “并非旨在用于创建具有复杂用户交互的大量 Mac OS X 应用程序”。

wxPython 文档到处都说您应该使用 py2app(例如,http: //wiki.wxpython.org/Optimizing%20for%20Mac%20OS%20X )在 Mac 上构建 wx 应用程序。(您可能会发现一些过时的文档提到了 BundleBuilder,但请忽略它。)

如果您真的知道自己在做什么,也许您可​​以忽略两个不同软件包的文档,并强制它们一起做您想做的事情,但除此之外,为什么还要尝试呢?

如果你想打包一个知道它的 GUI 的 GUI 应用程序——无论它是 TkInter、wx 还是其他东西——这样做的方法是使用py2app。无需学习本教程之外的任何内容,您就可以将 wxPython(或 PyQt 或 TkInter 或其他)脚本转换为可双击的 Mac 应用程序。而且您几乎可以根据需要对其进行自定义(导出 UTI、将图标分配给文件类型……)。wxPython 的文档已经告诉你怎么做。

顺便说一句,我怀疑这里的部分问题是您不知道 OS X 应用程序和 Unix 可执行文件之间的区别。但如果你坚持使用跨平台工具包(如 wx)和 py2app,你可能会侥幸逃脱。

于 2012-09-26T22:57:11.980 回答