전자 앱에서 메뉴 모음 제거
전자 앱에서 이 메뉴 모음을 제거하는 방법:
또한 "Hello World"라고 표시됩니다(이것은 전자 사전 빌드를 다운로드했기 때문이며 응용 프로그램을 패키지화하면 사라지기 때문입니까?html에 코딩을 안해서 어떻게 꺼내야할지 모르겠어요!
사용할 수 있습니다.w.setMenu(null)
또는 집합frame: false
창에서 닫기, 최소화 및 최대화 옵션 단추도 제거됩니다.setMenu() 또는 BrowserWindow()를 참조하십시오.이 스레드도 확인합니다.
이제 Electron은 (v5.0.0에 추가됨)를 사용하는 대신 응용 프로그램 메뉴를 제거할 수 있습니다.win.setMenu(null)
.
7는 Electron 7.1.x가 것 .win.removeMenu()
작동하지 않습니다. 방법은 유한해방은을 입니다.Menu.setApplicationMenu(null)
그러나 이렇게 하면 전체 화면 전환 등과 같은 모든 메뉴 바로 가기가 비활성화됩니다.
새 에서는 에운버전의 Electron서다설정수있습다니할을을 설정할 수 .autoHideMenuBar: true
브라우저 창을 만드는 동안 을 누르면 메뉴 모음이 다시 표시됩니다.
const mainWindow = new BrowserWindow({
autoHideMenuBar: true,
})
사용:
mainWindow = new BrowserWindow({width: 640, height: 360})
mainWindow.setMenuBarVisibility(false)
참조: https://github.com/electron/electron/issues/1415
나는 노력했다.mainWindow.setMenu(null)
효과가 하지만 그것은 작동하지 않았다.
Electron 7.1.1의 경우 다음을 사용할 수 있습니다.
const {app, BrowserWindow, Menu} = require('electron')
Menu.setApplicationMenu(false)
메뉴를 숨기거나 자동으로 숨길 수 있습니다(슬랙 또는 VS 코드에서처럼 Alt를 눌러 메뉴를 표시/숨길 수 있습니다).
관련 방법:
win.setMenu(메뉴) - 메뉴를 창의 메뉴 모음으로 설정합니다. 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/browser-window#winremovemenu-linux-windows
문서: https://electronjs.org/docs/api/frameless-window
편집: (새로 만들기)
win.removeMenu()
Linux Windows 창의 메뉴 모음을 제거합니다.
https://electronjs.org/docs/api/browser-window#winremovemenu-linux-windows
win.setMenu(null)를 사용하는 대신 응용프로그램 메뉴를 제거하기 위해 win.removeMenu()를 추가했습니다.
v5에서 다음과 같이 추가됩니다.
https://github.com/electron/electron/pull/16570
https://github.com/electron/electron/pull/16657
전자 v7 버그
7 Electron 7.1.1을 합니다.Menu.setApplicationMenu
에 win.removeMenu()
스레드에 : " 스드에따라레":
https://github.com/electron/electron/issues/://github.com/electron/electron/issues/16521
그리고 중요한 점은 브라우저 창을 만들기 전에 호출해야 한다는 것입니다!안 그러면 안 됩니다!
const {app, BrowserWindow, Menu} = require('electron')
Menu.setApplicationMenu(null);
const browserWindow = new BrowserWindow({/*...*/});
UPDATE(브라우저 창 구성에서 autoHide 메뉴바 설정)
@kcpr 댓글처럼!우리는 건설자에게 많은 재산과 많은 것을 설정할 수 있습니다.
그것은 현재 8.3인 최신 안정된 버전의 전자에서 사용할 수 있습니다!
하지만 이전 버전에서도 v1, v2, v3, v4를 확인했습니다!
모든 버전이 있습니다!
3v8.3의 에는 다음과 같이 .
https://github.com/electron/electron/blob/v8.3.0/docs/api/browser-window.md#://github.com/electron/electron/blob/v8.3.0/docs/api/browser-window.md#new-browserwindowoptions
옵션에 대한 문서:
autoHideMenuBar Boolean(옵션) - Alt 키를 누르지 않는 한 메뉴 모음을 자동으로 숨깁니다.기본값은 false입니다.
다음은 이를 설명하기 위한 스니펫입니다.
let browserWindow = new BrowserWindow({
width: 800,
height: 600,
autoHideMenuBar: true // <<< here
})
앱을 패키지화할 때 기본 메뉴가 더 이상 없습니다. 개발 중에 버그가 발생하면 전화를 걸 수 있습니다.setMenu(null)
@TonyVincent가 제안한 대로 브라우저 창에서.
을 기준으로 위 이 더 작동하지 .7.0.0은 더 이상 작동하지 않습니다. BrowserWindow.setMenu()
로대었니다로 대체되었습니다.Menu.setApplicationMenu()
이제 모든 창에서 메뉴가 변경됩니다. setMenu()
,removeMenu()
더 이상 아무것도 하지 않습니다. 그나저나 아직도 문서에 언급되어 있습니다.
setAutoHideMenuBar()
여전히 작동하지만 Alt를 단축키 수정자로 사용할 계획이라면 성가신 일이 될 수 있습니다.메뉴가 표시되면 창 밖을 클릭하여(포커스를 느슨하게 함) 메뉴를 다시 숨겨야 합니다.
프로그램에 둘 이상의 창이 있는 경우 각 창에서 메뉴를 개별적으로 설정/제거할 수 없습니다.메뉴를 제거하는 유일한 방법은 프레임 없는 창 방식을 사용하는 것입니다.이것이 현재 애플리케이션에서 원하는 것이지만 모든 경우에 좋은 솔루션은 아닙니다.
@"electron": "^7.1.1" :
mainWindow = new browserWindow({ height: 500, width: 800});
//mainWindow.setAutoHideMenuBar(true);
mainWindow.autoHideMenuBar = true;
브라우저에서 메뉴 없이 예상대로 작동하고 있습니다.
이러한 솔루션에는 버그가 있습니다.아래의 솔루션을 사용할 경우 창 닫기가 지연됩니다.
Menu.setApplicationMenu(null),
&&
const updateErrorWindow = new BrowserWindow({autoHideMenuBar: true});
저는 아래에 있는 용액을 사용했습니다.지금은 이게 더 낫습니다.
const window= new BrowserWindow({...});
window.setMenuBarVisibility(false);
브라우저를 만드는 동안 autoHideMenuBar를 true로 설정Windows
mainWindow = new BrowserWindow({
autoHideMenuBar: true,
width: 1200,
height: 800
})
전자 12.0.6:
let mainWindow = new BrowserWindow({
autoHideMenuBar: true
});
2020 업데이트, 나에게 효과가 있었던 유일한 bl**dy:
Menu.setApplicationMenu(new Menu());
이 문제에 대한 답변에 따라 다음으로 전화해야 합니다.Menu.setApplicationMenu(null)
창이 생성되기 전에
setMenu(null);
가장 좋은 대답은autohidemenu
프로그램 시 됩니다.
function createWindow(){
const win = new BrowserWindow({
width: 1500,
height: 800,
webPreferences:{
nodeIntergration: true
}
});
win.setMenu(null);
win.loadFile("index.html");
}
app.whenReady().then(createWindow);
main.js에서 이 행 앞:
mainWindow = new BrowserWindow({width: 800, height: 900})
mainWindow.setMenu(null) //this will r menu bar
대부분의 답변은 최신 버전에서는 유효하지 않습니다. 9.0 이버서는Menu.setApplicationMenu(null);
작동해야 합니다. 그렇고, 그저나나.Menu
전자 패키지에서 내보냄: const {Menu} = require('electron');
공식 문서 @ https://github.com/electron/electron/blob/v8.0.0-beta.1/docs/api/menu.md 에 따르면 7.1.2 이후로 이 작업을 수행하는 적절한 방법은 다음과 같습니다. 8.0에서도 테스트했습니다.
const { app, Menu } = require('electron')
Menu.setApplicationMenu(null)
라 할지라도autoHideMenuBar: true
을 " 메모음전수있다니습할환을뉴"로 할 수 .Alt
키.키.키.키.
완전히 숨기려면 다음을 사용합니다.mainWindow.setMenu(null)
언급URL : https://stackoverflow.com/questions/39091964/remove-menubar-from-electron-app
'source' 카테고리의 다른 글
설치 프로젝트에 라이센스 계약을 추가하는 방법 (0) | 2023.05.24 |
---|---|
jupyter 노트북 실행 중 오류 발생(해당 파일 또는 디렉터리 없음) (0) | 2023.05.24 |
xxx'의 구독이 클라우드 'AzureCloud'에 없습니다. (0) | 2023.05.24 |
외부에서 도커 컨테이너의 Postgresql에 연결 (0) | 2023.05.24 |
Visual Studio 프로젝트에 개발자 설명서를 추가하는 가장 좋은 방법 (0) | 2023.05.24 |