gpt4 book ai didi

javascript - 如何从 Electron 中的特定窗口中删除菜单栏?

转载 作者:行者123 更新时间:2023-11-28 19:24:10 32 4
gpt4 key购买 nike

我的应用程序中有一个菜单,当您单击文档属性时会弹出另一个窗口,但应用程序菜单也被该窗口继承,因此您可以从文档属性窗口打开文档属性窗口。我只想禁用文档属性窗口的菜单,我能够实现此目的的唯一方法是使窗口无框架,但我仍然希望显示标题栏,所以这不是我正在寻找的解决方案为。

我尝试过使用 docProps.removeMenu()、docProps.setMenu(null),甚至 docProps.setApplicationMenu(null)。我四处移动它,尝试将 docProps 设为全局变量,但没有任何效果。

这是我的代码:

//Create references for modules that require electron
const { app, BrowserWindow, Menu } = require('electron')

//Create a global reference for the main window
let mainWindow

function createWindow () {
//Create the browser window
mainWindow = new BrowserWindow({
minWidth: 300,
minHeight: 300,
backgroundColor: '#888888'
})

//Load the index.html file
mainWindow.loadFile('index.html')

//Reload the main window on resize
mainWindow.on('resize', function () {
mainWindow.reload()
})
}

function createAppMenu () {
//Create application menu template
const template = [
{
label: 'File',
submenu: [
{
label: 'Document Properties...',
click: function () {
docProps = new BrowserWindow({
width: 250,
height: 300,
resizable: false,
title: 'Document Properties'
})
//This isn't working and I'm not sure why
docProps.removeMenu()
}
}
]
},
{
label: 'Edit'
},
{
label: 'View'
},
{
label: 'Window'
},
{
label: 'Help'
}
]

//Build app menu from template
const menu = Menu.buildFromTemplate(template)
Menu.setApplicationMenu(menu)
}

//Call the createWindow function once electron has finished initializing
app.on('ready', function () {
createWindow()
mainWindow.maximize()
createAppMenu()
})

您可以在 https://github.com/Leglaine/ElectroText 查看整个元素

我收到的唯一错误消息是当我尝试调用 docProps.setApplicationMenu(null) 时,它说无法在 docProps 上调用 setApplicationMenu,但我真的不希望它能正常工作。预先感谢您的帮助!

最佳答案

当您已经通过 Menu 设置应用程序菜单时,

win.removeMenu()win.setMenu(null) 目前在 Electron 中似乎已损坏。 setApplicationMenu()

尝试像这样设置一个空菜单

docProps.setMenu(Menu.buildFromTemplate([]))

关于javascript - 如何从 Electron 中的特定窗口中删除菜单栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56696380/

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