Skip to content

托盘图标

指的是软件右下角的软件图标

image-20240627150913584

图标文件

你可以使用 PS 等软件创建图标文件。如果你使用的是 electron-vite 脚手架,需要将图标文件放在 resources 目录中。

苹果系统

苹果系统图标指的是顶部菜单栏处的图标,要求如下:

  • 要求文件名以 Template 单词结尾如macTrayTemplate@2x.png
  • 分辨率和尺寸可以是16x16 (72dpi) 或 32x32@2x (144dpi)
  • 图标文件后缀是 Template@2x.png 时要求是白色图片

image-20230405020731264

windows

window 图标指的是底部右侧的图标,要求如上:

  • 可以使用彩色的 png 图标
  • 尺寸和分辨率是32x32(144dpi)文件

示例代码

下面是托盘图示的定义,并且 window 与 mac 使用不同的图标

javascript
import { Menu, Tray } from 'electron'
import path from 'path'
const createTray = () => {
  const tray = new Tray(
    path.resolve(
      __dirname,
      process.platform == 'darwin'
        ? '../../resources/macTrayTemplate@2x.png' //32x32 像素的图片
        : '../../resources/windowTray.png' //可以使用彩色图片,图标的最大大小为 256x256 像素,设置为32x32像素即可
    )
  )
  const contextMenu = Menu.buildFromTemplate([{ label: '退出', role: 'quit' }])
  tray.setToolTip('代码片段软件')
  tray.setContextMenu(contextMenu)
}

export { createTray }

需要在 app 之后创建图标

javascript
app.whenReady().then(() => {
  ...
  createTray()
  createWindow()
	...
})