web-dev-qa-db-ja.com

Electronアプリからメニューバーを削除する

Electronアプリからこのメニューバーを削除するにはどうすればよいですか。

menu-bar

また、「Hello World」と表示されます(これは、事前に作成された電子をダウンロードしたため、アプリケーションをパッケージ化すると消えますか?)。これらをhtmlにコーディングしなかったので、どうやってそれを取り出すのか分かりません!

49
Sean Letendre

ウィンドウでw.setMenu(null)を使用するか、frame: falseを設定できます(これにより、閉じる、最小化、最大化オプションのボタンも削除されます)。 setMenu() または BrowserWindow() を参照してください。また、これを確認してください thread

編集:

Electronは、 win.removeMenu()v5.0.0)に追加され、win.setMenu(null)を使用する代わりにアプリケーションメニューを削除します。

82
Tony Vincent

これを使って:

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

参照: https://github.com/electron/electron/issues/1415

mainWindow.setMenu(null)を試しましたが、うまくいきませんでした。

31
iHad 169

アプリをパッケージ化すると、デフォルトメニューが表示されなくなります。開発中にバグが発生した場合は、@ TonyVincentが示唆するように、ブラウザウィンドウでsetMenu(null)を呼び出すことができます。

6
Vadim Macagon

メニューは非表示またはauto-hiddenSlackまたはVS Code-できます Altキーを押してメニューを表示/非表示)。

関連する方法:

---- win.setMenu(menu) -ウィンドウのメニューバーとしてメニューを設定します。nullに設定すると、メニューバーが削除されます。 (これによりメニューが完全に削除されます

mainWindow.setMenu(null)


---- win.setAutoHideMenuBar(hide) -ウィンドウメニューバーが自動的に非表示になるかどうかを設定します。 一度設定するとメニューバーのみ
show
when userspresssingleAlt key

mainWindow.setAutoHideMenuBar(true)

ソース: https://github.com/Automattic/simplenote-electron/issues/29

以下に示すように、フレームレスウィンドウを作成する方法もあります:

(閉じるボタンは何もありません。私たちが望むものにすることができます(より良いデザイン))

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

Main.jsのこの行の前:

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

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