显示的是developer menubar,而不是我的自定义菜单栏,我确实在menuTemplate中添加了空对象,但仍然不起作用。
我用的是mac
我已尝试将浏览器窗口的菜单设置为空
仍然不显示我的自定义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。
发布于 2019-04-02 02:38:53
你的菜单模板导致我在启动时出错(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();
}
}]
}
]这将导致出现以下菜单:

https://stackoverflow.com/questions/55452457
复制相似问题