Удалить меню из приложения Electron
Как удалить эту панель меню из моих электронных приложений:
Также он говорит "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