如何从 Electron 应用程序中隐藏菜单栏?

Posted

技术标签:

【中文标题】如何从 Electron 应用程序中隐藏菜单栏?【英文标题】:How can I hide the menubar from an Electron app? 【发布时间】:2021-10-19 10:33:00 【问题描述】:

我最近开始使用 Electron 制作桌面应用程序,并且盯着总是在顶部的菜单栏变得烦人。

所以,我上网并在网上搜索了一个好的解决方案 - 但我发现的大多数答案要么非常陈旧,可能并非所有操作系统都支持,或者不是我想要的。所以,我在这里,问一个可能会被标记为重复的问题。

我想在我的应用程序中隐藏菜单栏永久 - 所以将 autoHideMenuBar 属性设置为 true 将不起作用,因为那时 alt 键会仍然显示它。

我想保留像使用 F11 这样的功能来获得全屏。

有人知道我该怎么做吗?

【问题讨论】:

这能回答你的问题吗? Remove menubar from Electron app 【参考方案1】:

你可以试试这个

const  Menu  = require('electron');
Menu.setApplicationMenu(null);

【讨论】:

【参考方案2】:

通常有几种方法可以做到这一点,这里有一些建议:

    在创建窗口时设置菜单为空:

    const mainWin = new BrowserWindow(menu: null);

    创建窗口对象后删除菜单(使用 MacOS 设置空白菜单):

    const Menu = require('electron');

    process.platform === "win32" && mainWin.removeMenu();

    process.platform === "darwin" && Menu.setApplicationMenu(Menu.buildFromTemplate([]));

    使用电子的菜单模块:

    const Menu = require('electron');

    Menu.setApplicationMenu(null);

【讨论】:

以上是关于如何从 Electron 应用程序中隐藏菜单栏?的主要内容,如果未能解决你的问题,请参考以下文章

设置窗口标题栏的颜色 - electron.js

Electron 应用程序 - 如何在全屏模式下禁用/隐藏任务栏中的窗口

如何隐藏电子默认菜单

如何隐藏 Qt 小部件应用程序菜单栏?

Electron定制mac上的通知栏效果

electron 打包mac的安装包没有菜单的问题解决