如何从电子应用程序中删除此菜单栏:

它还说“Hello World”(这是因为我下载了电子预构建,一旦我打包应用程序就会消失吗?)我没有编码这些到html,所以我不知道如何得到它!-


当前回答

这些解决方案有缺陷。 当使用以下溶液时,窗口在关闭时有延迟。

Menu.setApplicationMenu(null),
&&
const updateErrorWindow = new BrowserWindow({autoHideMenuBar: true});

我使用的溶液在下面。现在这样比较好。

const window= new BrowserWindow({...});
window.setMenuBarVisibility(false);

其他回答

从7.0.0开始,上面的大多数解决方案不再工作。 BrowserWindow.setMenu()已经被menu . setapplicationmenu()所取代,它现在会改变所有窗口的菜单。setMenu(), removmenu()不再做任何事情,顺便说一下,它们仍然在文档中被提到。

setAutoHideMenuBar()仍然有效,但如果你计划使用Alt作为热键修饰符,可能是一个麻烦。一旦菜单是可见的,你必须点击离开窗口(散焦点)隐藏菜单再次。

如果应用程序有多个窗口,则不能在每个窗口上分别设置/删除菜单。删除菜单的唯一方法是使用无框架窗口方法。这恰好是我在当前应用程序中想要的,但并不是在所有情况下都是一个好的解决方案。

对于电子7.1.1,您可以使用这个:

const {app, BrowserWindow, Menu} = require('electron')
Menu.setApplicationMenu(false)

setMenu(空);是不是autohidemenu的最佳答案会在应用程序启动时显示


    function createWindow(){
        const win = new BrowserWindow({
            width: 1500,
            height: 800,
            webPreferences:{
                nodeIntergration: true
            }
        });
        win.setMenu(null);
    win.loadFile("index.html");
    }
    app.whenReady().then(createWindow);

即使autoHideMenuBar: true,你仍然可以用Alt键切换菜单栏。

所以要完全隐藏它,使用mainwindow。setmenu (null)

电子12.0.6:

    let mainWindow = new BrowserWindow({
        autoHideMenuBar: true
    });