Удалить меню из приложения Electron

Как удалить эту панель меню из моих электронных приложений:

menu-bar

Также он говорит "Hello World" (это потому, что я загрузил заранее подготовленный электрон и уйду, как только я упакую приложение?). Я не кодировал их в html, поэтому я не знаю, как это сделать!

Ответ 1

Вы можете использовать w.setMenu(null) или установить frame: false (это также удаляет кнопки для закрытия, сворачивания и максимизации параметров) в вашем окне. Смотрите setMenu() или BrowserWindow(). Также проверьте эту тему

Редактировать:

Electron теперь имеет win.removeMenu() (добавлен в v5.0.0), чтобы удалить меню приложений вместо использования win.setMenu(null).

Ответ 2

Использовать этот:

mainWindow = new BrowserWindow({width: 640, height: 360})
mainWindow.setMenuBarVisibility(false)

Ссылка: https://github.com/electron/electron/issues/1415

Я попытался mainWindow.setMenu(null), но это не сработало.

Ответ 3

Когда вы упаковываете свое приложение, меню по умолчанию больше не будет, если это вызывает вас во время разработки, вы можете вызвать setMenu(null) в окне браузера, как это было предложено @TonyVincent.

Ответ 4

Меню может быть скрытым или автоматически скрытым (как в Slack или VS Code - вы можете нажать Alt, чтобы показать/скрыть меню).

Соответствующие методы:

---- win.setMenu(menu) - Устанавливает меню в качестве строки меню Windows, если установить значение NULL, строка меню будет удалена. (Это удалит меню полностью)

mainWindow.setMenu(null)


---- win.setAutoHideMenuBar (скрыть) - Устанавливает, должна ли строка меню окна автоматически скрываться. После установки строка меню будет только
показать, когда пользователи нажимают одну клавишу Alt.

mainWindow.setAutoHideMenuBar(true)

Источник: https://github.com/Automattic/simplenote-electron/issues/293

Существует также метод изготовления безрамного окна, как показано ниже:

(нет кнопки закрытия, ничего нет. Может быть то, что мы хотим (лучший дизайн))

const { BrowserWindow } = require('electron')
let win = new BrowserWindow({ width: 800, height: 600, frame: false })
win.show()

документ: https://electronjs.org/docs/api/frameless-window

Ответ 5

Перед этой строкой в main.js:

mainWindow = new BrowserWindow({width: 800, height: 900})

mainWindow.setMenu(null) //this will r menu bar