web-dev-qa-db-fra.com

Supprimer la barre de menu de l'application Electron

Comment puis-je supprimer cette barre de menus de mes applications électroniques:

menu-bar

En outre, il est écrit "Hello World" (est-ce parce que j'ai téléchargé l'électron préconstruit et que je vais m'en aller une fois que j'emballe l'application?). Je ne les ai pas codés en HTML, donc je ne sais pas comment le sortir! -

49
Sean Letendre

Vous pouvez utiliser w.setMenu(null) ou définir frame: false (Cela supprime également les boutons pour les options de fermeture, réduction et agrandissement) de votre fenêtre. Voir setMenu () ou BrowserWindow () . Vérifiez également ceci fil

Modifier:

Electron a maintenant win.removeMenu() ( ajouté dans la v5.0.0), pour supprimer les menus d'application au lieu d'utiliser win.setMenu(null).

82
Tony Vincent

Utilisez ceci:

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

Référence: https://github.com/electron/electron/issues/1415

J'ai essayé mainWindow.setMenu(null), mais cela n'a pas fonctionné.

31
iHad 169

Lorsque vous empaquetez votre application, le menu par défaut n'existe plus. Si cela vous pose problème pendant le développement, vous pouvez appeler setMenu(null) dans la fenêtre du navigateur, comme suggéré par @TonyVincent.

6
Vadim Macagon

Le menu peut être masqué ou masqué automatiquement (comme dans Slack ou VS Code - vous pouvez appuyez sur Alt pour afficher/masquer le menu).

Méthodes pertinentes:

---- win.setMenu (menu) - Définit le menu comme étant la barre de menus de la fenêtre. La définition de ce paramètre sur NULL supprimera la barre de menus. ( Ceci supprimera complètement le menu )

mainWindow.setMenu(null)


---- win.setAutoHideMenuBar (hide) - Définit si la barre de menus de la fenêtre doit se masquer automatiquement. Une fois défini , la barre de menus sera uniquement
affiche
lorsque les utilisateurs appuient sur sur la touche Alt unique .

mainWindow.setAutoHideMenuBar(true)

Source: https://github.com/Automattic/simplenote-electron/issues/29

Il y a aussi la méthode pour faire une fenêtre sans cadre comme montré ci-dessous:

(pas de bouton de fermeture, rien du tout. Peut être ce que nous voulons (meilleur design))

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

doc: https://electronjs.org/docs/api/frameless-window

5
Mohamed Allal

Avant cette ligne sur main.js:

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

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