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

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


当前回答

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

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

其他回答

根据官方文档@ https://github.com/electron/electron/blob/v8.0.0-beta.1/docs/api/menu.md,从7.1.2开始正确的方法是这样做的,我已经在8.0上测试过了:

const { app, Menu } = require('electron')

Menu.setApplicationMenu(null)

你可以在你的窗口上使用w.setMenu(null)或set frame: false(这也会删除关闭、最小化和最大化选项的按钮)。参见setMenu()或BrowserWindow()。还要检查这个线程


Electron现在有win.removeMenu()(在v5.0.0中添加),以删除应用程序菜单,而不是使用win.setMenu(null)。


7.1电子。x似乎有一个错误,win.removeMenu()不工作。唯一的解决方法是使用menu . setapplicationmenu (null),然而,这将禁用所有菜单快捷方式,如F11切换全屏等。


在新版本的Electron中,您可以在创建browserWindow时设置autoHideMenuBar: true,按Alt将再次显示菜单栏。

const mainWindow = new BrowserWindow({
  autoHideMenuBar: true,
})

根据这个问题的答案,你必须在创建窗口之前调用Menu.setApplicationMenu(null)

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);

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

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