使用pyqt4设置mac任务栏菜单然后应用cx_freeze

Setting the mac task bar menu with pyqt4 and then applying cx_freeze

我有一个带有 mac 任务栏菜单的图形用户界面,见下文:

菜单上的前 3 个项目是使用 QtDesigner 创建的,它们的子项目和操作连接良好。我动态创建了额外的“文件”以查看这是否可以解决问题。当我使用 python3 setup.py build 构建它然后 运行 生成的可执行文件时,这个菜单看起来完全一样。 当我使用 python3 setup.py bdist_mac 生成 mac 应用程序时,这个菜单没有出现,而是我得到:

所以我想知道为什么会发生这种情况,以及是否缺少任何文件以便让应用程序选择我的菜单。我猜我需要生成 qt_menu.nib,我认为这是存储菜单操作的地方,但我无法从设计器中找到如何生成它。

使用 Python 3.4,最新版本 cx_freeze,Mac OS X Yosemite 和 PyQt4.

我不太确定为什么这不起作用,或者为什么我的方法修复了它,但我做了两件事来防止菜单混乱: 1. 在加载这个较小的设置 window 之前,我一直在加载另一个主要 window。我现在只在需要时加载它。

  1. 我正在应用样式表。出于某种原因,每当我现在应用时,菜单都不起作用。再次,不知道为什么。