当前位置: 首页 > 知识库问答 >
问题:

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

申高卓
2023-03-14

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

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()

共有2个答案

太叔正文
2023-03-14

null

若要添加图标,必须创建一个。icns文件。请遵循这些或这些说明。其次,你必须把程序做成一个应用程序。要执行此操作,请遵循此处的说明,但先不要执行此操作。好的,现在进入setup.py并在选项 下添加。立即创建应用程序。只有将。icns映像与setup.py放在同一个文件夹中,它才会起作用。这将为应用程序添加一个图标。

南宫浩皛
2023-03-14

我知道这是旧的,但我刚看到答案之前,来到这里,我想我应该分享这个答案,以防有人在将来偶然发现这个问题,并想知道。

您必须提供 格式的图标文件,才能使应用程序具有应用程序图标。 有三种方法来完成此操作:

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

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'],
)

老实说,我不确定这个,我不碰。cfg文件

[py2app]
iconfile="app.icns"

null

 类似资料:
  • 问题内容: 我刚刚在Windows上创建了我的第一个应用程序。 我如何给它一个图标? 似乎没有任何构建标记可以执行此操作,而且我知道golang不支持资源。 问题答案: 您可以使用akavel / rsrc之 类的工具来生成一个.syso文件,该文件中嵌入了指定的资源,旨在在构建Win32可执行文件时供Go链接器使用。 以lxn / walk应用程序为例,该应用程序将其他元数据嵌入其可执行文件中。

  • 我正在为windows编程JavaFX应用程序,并希望在这些情况下看到应用程序图标 快捷图标(在桌面上,windows开始菜单上) 任务栏图标(即使应用程序固定在任务栏上) (可选).exe-图标 下面的代码似乎很好地完成了它的工作,但是当应用程序运行时,我右按任务栏选择“pin this program”,默认的咖啡杯又会显示出来。当右键单击任务栏项时,杯子就会显示出来-.- 编辑:越来越傻了…

  • 最近几天,我试图在我的android应用程序中设置背景图片。首先,我将我的图像添加到res/drawable-hdpi中,并在。通过编写我的活动的xml代码 它不起作用,所以我也尝试将此图像放入res中的另一个可绘制文件夹中-没有成功。然后我甚至将文件的扩展名从. jpg更改为. png-没有。所以我进入res/价值/styles.xml并添加了这个: 每次我的应用程序编译,但当我尝试启动它时,我

  • 设置应用程序 Nest is built with features from both ES6 and ES7 (decorators, async / await). It means, that the easiest way to start adventure with it is to use Babel or TypeScript. In this tutorial I will u

  • 问题内容: 我知道我可以为每种形式或根形式指定一个,然后它将级联到所有子形式,但是我想有一种方法可以覆盖所有形式的默认Java Coffee Cup,即使那些形式我可能会忘记。 有什么建议? 问题答案: 您可以将根形式(我假设是)作为自己的子类,并将标准功能放入其构造函数中,例如: 您也可以在此处捆绑其他标准内容,例如将框架的窗口度量标准存储为用户首选项,管理初始窗格等。 此框架产生的任何新框架也

  • 如何设置电子应用程序的应用程序图标? 我正在尝试