【问题标题】:Setting the mac task bar menu with pyqt4 and then applying cx_freeze用pyqt4设置mac任务栏菜单然后应用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 中复制可能就足够了;我认为这只是某种存根文件,而不是对特定菜单结构的描述。不过,我忘记了你在哪里找到它以及它应该去哪里。

标签: python macos pyqt4 python-3.4 cx-freeze


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2018-06-12
    • 1970-01-01
    • 2023-01-21
    • 1970-01-01
    • 2010-09-13
    • 2013-04-14
    • 1970-01-01
    • 1970-01-01
    • 2016-11-13
    相关资源
    最近更新 更多