【发布时间】: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 不存在。
-
“使其可执行”是指设置可执行位,而不是转换文件。