gpt4 book ai didi

menu - Electron - 在不同的窗口中更改菜单栏

转载 作者:行者123 更新时间:2023-12-02 01:15:03 27 4
gpt4 key购买 nike

在我的 Electron 应用程序中,用户可以打开不同的窗口。

我在创建主窗口时初始化了菜单,如下所示:

const menuContents = Menu.buildFromTemplate(menuTemplate(mainWindow))
Menu.setApplicationMenu(menuContents)

但是,当用户单击链接并打开一个新窗口时,同一菜单栏仍会出现在该窗口中。我想更改它和/或完全删除它。

我该怎么做?

最佳答案

有可能:

Example for Menus

在 Renderer 或 Main Proccess 中使用如下菜单模板创建两个函数:

主菜单

function createMenu(){
var menu = Menu.buildFromTemplate([
{
//your menu items
}
])
Menu.setApplicationMenu(menu);
}

二级菜单

function createMenuwin(){
var menu = Menu.buildFromTemplate([
{
//your other window menu items
}
])
Menu.setApplicationMenu(menu);
}

当您调用第二个窗口时:示例打开图像

function openIMG(path){
win = new BrowserWindow({
width: 800,
height: 550,
frame: true,
vibrancy: 'medium-light',
});
win.loadFile(path);
createMenuwin();
win.on('close', () =>{
createMenu();
})
}

当第二个窗口打开时创建一个应用程序菜单

createmenuwin()

当第二个窗口关闭时调用事件:

win.on('close', () =>{})

在第二个窗口的关闭事件中,调用:

 createMenu();

关于menu - Electron - 在不同的窗口中更改菜单栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43004842/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com