正在显示开发人员menubar
而不是我的自定义菜单栏,并且我确实在menuTemplate
中添加了空对象,但仍然无法正常工作。
我正在使用Mac
我尝试将浏览器窗口的菜单设置为null
仍然没有显示我的自定义menubar
const electron = require('electron');
const{app,BrowserWindow,Menu} = electron;
const url = require("url");
const path = require("path")
let mainWindow;
let addWindow;
app.on('ready', function(){
mainWindow = new BrowserWindow({});
mainWindow.loadURL(url.format({
pathname: path.join(__dirname, "index.html"),
protocol: 'file: ',
slashes: true
}));
const mainMenu = Menu.buildFromTemplate(menuTemplate);
Menu.setApplicationMenu(mainMenu);
});
function createAddWindow(){
addWindow = new BrowserWindow({
width: 300,
height: 200,
title: " Add shopping list item"
});
addWindow.loadURL(url.format({
pathname: path.join(__dirname, "subwindow.html"),
protocol: 'file: ',
slashes: true
}));
}
// create menu template
const menuTemplate = [
{},
{
Label: "file",
submenu:[
{
Label: "add item",
click(){
createAddWindow();
}
},{
Label: "clear items"
},{
label: "quit",
accelerator: process.platform == "darwin" ? 'Command+Q' : 'Ctrl+Q',
click(){
app.quit();
}
}]
}
]
我想显示我的自定义menubar
。
答案 0 :(得分:0)
您的菜单模板在启动时会导致我出错(在Ubuntu上为Electron 4.1.3)。
我删除了索引0处的空对象,并将Label
更改为label
。另外,我认为您可以将CmdOrCtrl
用作加速器。
const menuTemplate = [
{
label: "file",
submenu: [
{
label: "add item",
click(){
createAddWindow();
}
},{
label: "clear items"
},{
label: "quit",
accelerator: 'CmdOrCtrl+Q',
click(){
app.quit();
}
}]
}
]
这将显示以下菜单: