Supprimer la barre de menus de l'Électron app
Comment puis-je supprimer cette barre de menu de mon électron apps:
En outre, il dit "Bonjour le Monde"(est-ce parce que j'ai téléchargé électron pré-construit, et disparaîtra une fois que j'package de l'application?). Je n'ai pas de code dans le html, donc je ne sais pas comment faire pour le sortir!-
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
w.setMenu(null)
ou un ensembleframe: false
(cela supprime également des boutons pour fermer, réduire et agrandir options) sur votre fenêtre. Voir setMenu() ou BrowserWindow(). Vérifiez également ce filEdit:
Électrons ont maintenant
gagner.removeMenu()
(ajouté dans v5.0.0), pour supprimer les menus de l'application au lieu d'utiliserwin.setMenu(null)
.frame: false
a fait pour moi.removeMenu()
est Linux & Windows uniquementsetMenu
etremoveMenu
ne fonctionnent plus. lienUtiliser ceci:
Référence: https://github.com/electron/electron/issues/1415
J'ai essayé
mainWindow.setMenu(null)
, mais il ne fonctionne pas.mainWindow.setMenu(null)
avec des électrons 5.0.2 et il ne fonctionne pas de sapin, comme moi aussi. Je ne sais pas pourquoi je vois conseille de l'utiliser partout, et a demander si je suis le seul qui est en train de faire quelque chose de mal. Vos conseils, de l'aidesetMenuBarVisibility
,mais supprime la visibilité de la barre de menu, ne pas l'enlever complètement. Il peut être remis en appuyant sur laAlt
clé..setMenu(null)
ou.removeMenu()
a fonctionné pour moi..setMenuBarVisibility(false)
supprime la barre de menu et leAlt
clé ne fonctionne que si.setAutoHideMenuBar(true)
est exécuté.setMenu(null)
ne fonctionne pas, maissetMenuBarVisibility(false)
fonctionne comme prévu (la barre de pas être ramené en appuyant sur laalt
clés comme @Artium mentionné).De 7.0.0, la plupart des solutions ci-dessus ne fonctionnent plus.
BrowserWindow.setMenu()
a été remplacé parMenu.setApplicationMenu()
, qui devient alors le menu sur toutes les fenêtres.setMenu()
,removeMenu()
de ne plus faire quoi que ce soit, Qui, par la façon dont sont encore mentionnés dans les docs.setAutoHideMenuBar()
fonctionne toujours, mais peut être une nuisance, si vous avez prévu d'utiliser la touche Alt tout en un raccourci modificateur. Une fois que le menu est visible, vous avez à portée de clic à partir de la fenêtre (perte de focus) pour masquer de nouveau sur le menu.Si votre application a plus qu'une fenêtre, vous ne pouvez pas définir/supprimer des menus séparément sur chaque fenêtre. La seule façon de supprimer un menu est d'utiliser la fenêtre sans cadre de l'approche. Ce qui arrive à être ce que je veux dans mon application actuelle, mais pas une bonne solution dans tous les cas.
Lorsque vous créez un package de votre application le menu par défaut ne sera plus là, si c'est qui vous énerve au cours du développement, alors vous pouvez appeler
setMenu(null)
sur la fenêtre du navigateur, comme suggéré par @TonyVincent.Le menu peut être caché ou auto-caché (comme dans Mou ou VS Code - vous pouvez appuyez sur la touche Alt pour afficher/masquer le menu).
Méthodes pertinentes:
---- gagner.setMenu(menu) - Définit le menu de la fenêtre de la barre de menu,
le paramètre null, supprimer la barre de menu. (Cela permettra d'éliminer le menu complètement)
---- gagner.setAutoHideMenuBar(cacher) - Indique que la fenêtre de la barre de menu
doivent masquer automatiquement. Une fois mis en la barre de menu ne
montrer lorsque les utilisateurs appuyez sur le seul touche Alt.
Source: https://github.com/Automattic/simplenote-electron/issues/293
Il y a aussi la méthode de fabrication d'un cadre de fenêtre, comme illustré ci-dessous:
(pas de bouton de fermeture pas de quoi que ce soit. Peut-être ce que nous voulons (la meilleure conception))
https://electronjs.org/docs/api/browser-window#winremovemenu-linux-windows
doc: https://electronjs.org/docs/api/frameless-window
Edit: (nouveau)
https://electronjs.org/docs/api/browser-window#winremovemenu-linux-windows
Ajouté gagner.removeMenu() pour supprimer les menus de l'application au lieu de l'aide de win.setMenu(null)
Qui est ajouté à partir de la v5 par:
https://github.com/electron/electron/pull/16570
https://github.com/electron/electron/pull/16657
d'électrons 7.1.1 vous pouvez également utiliser cette. Il a travaillé pour moi!
Menu.setApplicationMenu(null)
travaillé dans7.1.2
d'Autres solutions n'ont pas fonctionné pour moi!De travail comme prévu sans menu dans le navigateur.
À la suite de la réponse de ce problème, vous devez appeler
Menu.setApplicationMenu(null)
avant de la fenêtre est crééeAvant cette ligne à main.js: