【发布时间】:2019-11-16 17:04:18
【问题描述】:
我正在构建一个 PyQt5 应用程序,并希望显示一些基本的“关于”信息。我认为 QtWidgets.QMessagebox.about 将是一个很好的实现:
class gGuiGlueApplication(GlueApplication):
def __init__(self):
...
menu_about_ggui = self.menuBar().addMenu("&gGui Help")
menu_about_ggui.addAction("About gGui", self.show_about_ggui)
...
def show_about_ggui(self):
"""Displays about gGui Message Box"""
QtWidgets.QMessageBox.about(
self,
"About gGui",
"gPhoton Graphical User Interface (gGui)\n"
"Developed by Duy Nguyen, Scott Fleming\nVersion: "
+ __version__
+ "\n\ngGui is provided under the AURA Software License. "
"Please see the included license for details.",
)
我在 Windows 和 Red Hat Enterprise Linux 7 上亲自测试过;一切看起来都是正确的。 about 按钮位于右侧菜单“About gGui”下方,显示相应信息:
我的合作者在 macOS 上注意到,它并没有以这种方式出现。 about 选项在我制作的菜单中不可见,而是在“Python”菜单下,错误地标记为“About Python”:
可以理解,这自然是 macOS 上有关信息的地方,但对于我们的用户来说,“python”是我们的应用程序并不明显。看起来 macOS 正在覆盖我们对 about 选项的放置和命名。至少,我们希望它说“关于 gGui”而不是通用的“关于 Python”。根据Qt QMenu.addAction Docs,第一个参数指示选项标题,根据Qt QMessageBox.about Documentation,第一个参数指示“标题”。
我们如何强制将 macOS 中的 about 文本更改为“关于 gGui”,甚至可以强制将 about 信息到适当的菜单以跨平台保持一致?
提前致谢!
其他信息:Python 3.7.1、PyQt5 5.13.2、PyQt5 SIP 12.7.0、QtPy 1.9.0
附:请忽略 Windows 菜单屏幕截图中的“加载 gGui 示例数据”选项
【问题讨论】:
标签: python macos pyqt5 qmessagebox