用pyqt4设置mac任务栏菜单然后应用cx_freeze
Posted
技术标签:
【中文标题】用pyqt4设置mac任务栏菜单然后应用cx_freeze【英文标题】:Setting the mac task bar menu with pyqt4 and then applying cx_freeze 【发布时间】:2015-05-22 21:38:58 【问题描述】:我有一个带有 mac 任务栏菜单的 gui,见下文:
菜单上的前 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。
【问题讨论】:
在 qt_menu.nib 中复制可能就足够了;我认为这只是某种存根文件,而不是对特定菜单结构的描述。不过,我忘记了你在哪里找到它以及它应该去哪里。 【参考方案1】:我不确定为什么这不起作用,或者为什么我的方法修复了它,但我做了两件事来防止菜单混乱: 1. 在加载这个较小的设置窗口之前,我一直在加载另一个主窗口。我现在只在需要时才加载它。
-
我正在应用样式表。出于某种原因,每当我应用它时,现在菜单都不起作用。再次,不知道为什么。
【讨论】:
以上是关于用pyqt4设置mac任务栏菜单然后应用cx_freeze的主要内容,如果未能解决你的问题,请参考以下文章