繁体   English   中英

在Mac OS X中设置Tkinter Python应用程序图标

[英]Set Tkinter Python application icon in Mac OS X

我用Python创建了一个Tkinter GUI。 以下代码片段显示了应用程序启动时如何将其图标更改为icon.gif中的图标。 这可以在Ubuntu和Windows上运行,但是在Mac中似乎没有任何作用。 如果有帮助,我将在OS X 10.9.5和Tcl 8.5&Tk 8.5(8.5.18)上运行Python 2.7.10。 如何更改出现在扩展坞中的图标?

import Tkinter as TK

class MyClass(object):
    def __init__(self, root):
        pass

if __name__ == '__main__': 
        root = TK.Tk()
        my_app = MyApp(root)
        icon_path = 'some\long\path\to\icon.gif'
        img = TK.PhotoImage(file=icon_path)
        root.tk.call('wm', 'iconphoto', root._w, img)
        root.mainloop()
        root.destroy()

我知道这很古老,但是在来到这里之前我只是看到了答案,我想我会分享答案,以防将来有人偶然发现并想知道。

您必须提供.icns格式的图标文件,才能使您的应用程序具有应用程序图标。 py2app具有三种执行此操作的方法:

  • 命令行参数
  • setup.py中的options字典
  • setup.cfg文件

在以下所有情况下,将app.icns替换为所需.icns文件的完整路径。

CLI参数

$ python setup.py py2app --iconfile app.icns

Setup.py字典

from setuptools import setup
APP = ['YourApp.py']
APP_NAME = "YourApp"
DATA_FILES = []


OPTIONS = {
    'argv_emulation': True,
    'iconfile': 'app.icns',
}

setup(
    name=APP_NAME,
    app=APP,
    data_files=DATA_FILES,
    options={'py2app': OPTIONS},
    setup_requires=['py2app'],
)

Setup.cfg

老实说,我不确定这一点,我不触摸.cfg文件

[py2app]
iconfile="app.icns"

这是相关的相关文档 一个实际的例子也是可用的。

如果您的意思是左上角的图标可能不起作用,但是要为Mac创建带有图标的应用程序,请执行以下操作:

要添加图标,您必须制作一个.icns文件。 请遵循这些这些说明。 其次,您必须将程序制作成应用程序。 为此,请按照此处的说明进行操作但请不要这样做。 现在,进入setup.py并在选项'iconfile' : 'icon.icns'下添加'iconfile' : 'icon.icns' 立即创建应用。 仅当您将.icns图像放置在setup.py所在的文件夹中时,它才有效。 这将在应用程序中添加一个图标。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM