如何为你的电子应用程序设置应用程序图标?

我正在尝试BrowserWindow({icon:'path/to/image.png'});但这并不奏效。

我是否需要打包应用才能看到效果?


当前回答

在创建BrowserWindow时设置图标属性仅对Windows和Linux有效。

要在OS X上设置图标,可以使用electronic -packager并使用——icon开关设置图标。

对于OS x,它需要是。icns格式。有一个在线图标转换器可以从你的。png创建这个文件。

其他回答

如果你正在使用电子生成器,你可以按照他们的文档如何添加你的应用程序图标。

您可以在电子生成器中指定设置图标的路径。Json5配置文件,例如mac:

/**
 * @see https://www.electron.build/configuration/configuration
 */
{
appId: 'YourAppId',
mac: {
  artifactName: '${productName}_${version}.${ext}',
  target: ['dmg'],
  icon: 'public/logo.png',
 },
}

在创建BrowserWindow时设置图标属性仅对Windows和Linux有效。

要在OS X上设置图标,可以使用electronic -packager并使用——icon开关设置图标。

对于OS x,它需要是。icns格式。有一个在线图标转换器可以从你的。png创建这个文件。

下面是我的解决方案:

new BrowserWindow({
  width: 800,
  height: 600,
  icon: __dirname + '/Bluetooth.ico',
})

**

重要的是: 过时的答案,看看其他更新的解决方案

**

你也可以在macOS上这么做。好的,不是通过代码,而是通过一些简单的步骤:

找到你想要使用的。icns文件,打开它并通过编辑菜单复制它 找到电子。App,通常在node_modules/electron/dist中 打开信息窗口 选择左上角的图标(灰色边框) 通过cmd+v粘贴图标 在开发过程中享受你的图标:-)

实际上,这是一个普遍的现象,并不局限于电子。你可以像这样更改许多macOS应用程序的图标。

如果你想在任务栏中更新应用图标,那么在main.js中更新(如果使用typescript则是main.ts)

win.setIcon(path.join(__dirname, '/src/assets/logo-small.png'));

__dirname指向应用程序的根目录(与package.json相同的目录)。