【问题标题】:Is there a way to change the Python Launcher's name in the dock of macOS?有没有办法在 macOS 的扩展坞中更改 Python Launcher 的名称?
【发布时间】:2021-02-12 04:20:20
【问题描述】:

当您创建一个 tkinter(或任何图形界面)应用程序时,Python 启动器会显示在您的 Dock 中(右下角,在垃圾桶旁边)。即使您在菜单(顶部栏)中更改程序的名称,它仍然会显示“Python”。我想改名字。

完整

假设你有这个:

from tkinter import *
import sys
from Foundation import NSBundle

#create window
root = Tk()
root.title("Caskt Evlofrow")

#this makes the name in the MENU "Caskt Evlofrow"
if sys.platform == "darwin":
    bundle = NSBundle.mainBundle()
    if bundle:
        info = bundle.localizedInfoDictionary() or bundle.infoDictionary()
        if info and info['CFBundleName'] == 'Python':
            info['CFBundleName'] = "Caskt Evlofrow"

root.mainloop()

感谢this question 更改菜单名称。但是,即使它更改了 MENU 名称,它也不会更改 DOCK 名称(Python Launcher 火箭所说的名称)。如何更改 DOCK 名称?

到目前为止我做了什么 我试过在谷歌上查找它。我尝试查看来自this question 的链接问题。但我还是找不到。我可能使用了错误的关键字,因此非常感谢任何帮助!

常见的错误想法 有人说我应该把它变成一个“可执行文件”。但是,python 启动器仍然显示“Python”,所以它并不能真正解决我的问题。 此外,CFBundleDisplayName 在我的 macOS (Mojave) 版本中不存在。

这是我想要的图片:

原创 我想要什么

【问题讨论】:

  • 您的文件运行情况如何?如果你让它可执行并直接运行它(而不是调用 python 解释器),那么 Dock 应该有文件名。
  • @Novel 我确实想在常规 python 解释器中更改它。我仍在处理该项目,但我想知道如何在不将其转换为 .exe 或 .app 的情况下对其进行更改。
  • 您应该尝试将 CFBundleName 更改为 CFBundleDisplayName。我不确定,但这是有道理的。
  • @dspr 不,CFBundleDisplayName 不存在。
  • “使其可执行”是指设置可执行位,而不是转换文件。

标签: python macos tkinter


【解决方案1】:

如何直接运行你的文件:

第 1 步:将此作为文件的第一行(也称为“shebang”):

#!/usr/bin/env python3

第 2 步:将文件重命名为 PythonPikachu(注意没有文件扩展名)。

步骤 3:在终端中运行此命令以使文件可执行:

chmod +x PythonPikachu

第 4 步:盈利。就您的操作系统而言,您的 python 文件现在是一个程序。您可以像运行任何其他程序一样从命令行运行它

./PythonPikachu

或者您可以制作命令文件或将程序添加到启动器或 cron 或您对程序执行的任何其他操作。

【讨论】:

  • python 启动器仍然显示“Python”,即使它把它当作一个应用程序。
  • 这个想法是绕过python启动器。直接启动您的程序。把它当作一个程序(因为它是一个程序),而不是一个 python 文件。
  • 但是你不能绕过python启动器。我已经在我原来的帖子上发布了一条更新,说我想要什么。
猜你喜欢
  • 2012-04-06
  • 2018-12-27
  • 2010-10-08
  • 2023-02-10
  • 2015-02-02
  • 1970-01-01
  • 2021-09-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多