Electron托盘图标点击后菜单不显示怎么办?
我在用Electron开发桌面应用,托盘图标能正常显示,但点击后右键菜单没反应。我按照文档写了tray.setContextMenu(menu),也试过在createWindow之后初始化托盘,还是不行。
这是我的托盘创建代码:
const { app, Tray, Menu } = require('electron');
let tray = null;
app.whenReady().then(() => {
tray = new Tray(path.join(__dirname, 'icon.png'));
const contextMenu = Menu.buildFromTemplate([
{ label: '退出', click: () => app.quit() }
]);
tray.setContextMenu(contextMenu);
});
难道是图标路径问题?还是生命周期哪里没处理好?
另外你代码里没引入path模块,记得加上:
我之前这样搞的,ico图标尺寸用16x16或32x32,太大也会出问题。还有个坑,tray变量如果被垃圾回收了也会没反应,你已经在全局声明了应该没事。