如何从电子应用程序中删除此菜单栏:
它还说“Hello World”(这是因为我下载了电子预构建,一旦我打包应用程序就会消失吗?)我没有编码这些到html,所以我不知道如何得到它!-
如何从电子应用程序中删除此菜单栏:
它还说“Hello World”(这是因为我下载了电子预构建,一旦我打包应用程序就会消失吗?)我没有编码这些到html,所以我不知道如何得到它!-
当前回答
你可以在你的窗口上使用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,
})
其他回答
你可以在你的窗口上使用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,
})
这里的大多数答案对于新版本无效。对于9.0或更高版本,Menu.setApplicationMenu(null);应该工作。顺便说一下,Menu从electron package导出:const {Menu} = require('electron');
用这个:
mainWindow = new BrowserWindow({width: 640, height: 360})
mainWindow.setMenuBarVisibility(false)
参考:https://github.com/electron/electron/issues/1415
我尝试了mainWindow.setMenu(null),但它不起作用。
从7.0.0开始,上面的大多数解决方案不再工作。 BrowserWindow.setMenu()已经被menu . setapplicationmenu()所取代,它现在会改变所有窗口的菜单。setMenu(), removmenu()不再做任何事情,顺便说一下,它们仍然在文档中被提到。
setAutoHideMenuBar()仍然有效,但如果你计划使用Alt作为热键修饰符,可能是一个麻烦。一旦菜单是可见的,你必须点击离开窗口(散焦点)隐藏菜单再次。
如果应用程序有多个窗口,则不能在每个窗口上分别设置/删除菜单。删除菜单的唯一方法是使用无框架窗口方法。这恰好是我在当前应用程序中想要的,但并不是在所有情况下都是一个好的解决方案。
当你打包你的应用程序时,默认菜单将不再存在,如果这在开发过程中让你感到困扰,那么你可以像@TonyVincent建议的那样在浏览器窗口上调用setMenu(null)。