python - MacOS 上的 pyqt5 默认 native 菜单文本

标签 python macos pyqt pyqt5 qmenubar

有没有办法为简单的 pyqt5 应用更改 MacOS 上 native 菜单的默认菜单标题?

enter image description here

我正在尝试更改上图中的“Python”菜单项。有没有办法重命名它?我能以某种方式隐藏它吗?

此代码仅打印"file":

menubar = self.menuBar()
for item in menubar.actions():
    print(item.text())

menubar.setNativeMenuBar(False) 也无济于事(只需将"file"移至主窗口)。

更新示例应用代码:

from PyQt5 import QtCore, QtWidgets, uic
import sys


class Ui(QtWidgets.QMainWindow):
    def __init__(self):
        super(Ui, self).__init__()
        # QtCore.QCoreApplication.setApplicationName('QtFoo') # doesn't work
        uic.loadUi('App.ui', self)
        self.show()

# app = QtWidgets.QApplication(sys.argv)
app = QtWidgets.QApplication(["MyCoolApp"])
# app.setApplicationName("QtFoo") # doesn't work
# app.setApplicationDisplayName("Display Name")
window = Ui()
app.exec()

最佳答案

如果您不愿意打包您的应用程序,您可以创建一个指向 python 的临时符号链接(symbolic link) described here .此链接可用于执行 python 应用程序,同时在标题栏中显示自定义名称:

enter image description here

  1. 在终端中转到您的应用程序(例如 my_app.py)文件的位置

  2. 创建符号链接(symbolic link)(将位置替换为您的 Python 解释器,将“BeautifulNaming”替换为所需的名称)

    ln -s/Users/Christian/miniconda3/bin/python BeautifulNaming

  3. 使用脚本调用 python 链接

    ./BeautifulNaming my_app.py

关于python - MacOS 上的 pyqt5 默认 native 菜单文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65591083/

相关文章:

macos - Safari 浏览器中的 Action 链失败

ubuntu - PyQt 程序在 Ubuntu 上启动很慢

python - 在 PyQt 中绘制具有高程和降低效果的 3D 矩形/多边形

python - 从同一类定义中实例化 python 类

python - 如何在 TensorFlow 中实现递归神经网络?

mysql - Mac OS X & MAMP - 如何在不输入完整路径的情况下运行 mysql?

macos - OSX 每个应用程序通过 nettop 的网络吞吐量

python - 在 Qt Designer 中创建可滑动窗口/框架

python - 前瞻内组内的反向引用

Python 将字符串写入文件并保留\r