久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

動(dòng)態(tài)改變 Electron 的菜單項(xiàng)狀態(tài)

Change Electron#39;s menu item#39;s status dynamically(動(dòng)態(tài)改變 Electron 的菜單項(xiàng)狀態(tài))
本文介紹了動(dòng)態(tài)改變 Electron 的菜單項(xiàng)狀態(tài)的處理方法,對大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

問題描述

與任何標(biāo)準(zhǔn)原生應(yīng)用程序一樣,我的電子應(yīng)用程序也需要根據(jù)實(shí)時(shí)使用結(jié)果更改多個(gè)菜單項(xiàng)的狀態(tài)(啟用/禁用).

Like in any standard native application, also my electron's application needs to change the status (enabled/dsabled) of several menu item, based on live usage results.

我正在 main.js 中設(shè)置我的菜單:

I am setting up my menu in main.js:

function createWindow () {
...
...
  require('./menu/mainmenu');
}

我需要更改的 MenuItem 在 mainmenu 中定義:

The MenuItem I need to change is defined in mainmenu:

{ label: "Show Colors",  
        accelerator: 'CmdOrCtrl+1', 
        enabled: getStatus(),
        click() {getWebviewWebContents().send('switchToColors');} 
 },

其中 getStatus() 是返回 falsetrue 的函數(shù).

where getStatus() is function returning false or true.

所有這些在 Electron 中都不起作用,因?yàn)椴藛问窃趹?yīng)用程序啟動(dòng)時(shí)創(chuàng)建的,根本無法修改.我認(rèn)為這是一個(gè)嚴(yán)重的缺陷,因?yàn)閯?dòng)態(tài)菜單項(xiàng)非常常見(即:菜單復(fù)選框、啟用/禁用等).

All this is not working in Electron, as the menu is created at application start and it can't be modified at all. I believe this is a serious lack, as dynamic menu items are very common (i.e.: menu checkboxes, enabled/disabled, etc).

有什么解決方法嗎?

推薦答案

我已經(jīng)通過為菜單項(xiàng)設(shè)置一個(gè) Id 來解決這個(gè)問題,

I have fixed this by setting an Id to the menu item,

{ label: "Show Colors",  
        id: 'color-scale',
        accelerator: 'CmdOrCtrl+1', 
        enabled: getStatus(),
        click() {getWebviewWebContents().send('switchToColors');} 
 },

并通過以下方式獲取菜單項(xiàng):

and getting the menu item with:

myItem = menu.getMenuItemById('color-scale')

然后,當(dāng)我需要以編程方式啟用/禁用它時(shí),我正在使用:

Then, when I need to enable/disable it programmatically, I am using:

myItem.enabled = true

myItem.enabled = false

這篇關(guān)于動(dòng)態(tài)改變 Electron 的菜單項(xiàng)狀態(tài)的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

How to fix BrowserWindow is not a constructor error when creating child window in Electron renderer process(在 Electron 渲染器進(jìn)程中創(chuàng)建子窗口時(shí)如何修復(fù) BrowserWindow 不是構(gòu)造函數(shù)錯(cuò)誤) - IT屋-程序員軟件開發(fā)技術(shù)
mainWindow.loadURL(quot;https://localhost:3000/quot;) show white screen on Electron app(mainWindow.loadURL(https://localhost:3000/) 在 Electron 應(yīng)用程序上顯示白屏)
Electron webContents executeJavaScript : Cannot execute script on second on loadURL(Electron webContents executeJavaScript:無法在第二個(gè) loadURL 上執(zhí)行腳本)
how to use electron browser window inside components in angular-cli?(如何在angular-cli的組件內(nèi)使用電子瀏覽器窗口?)
ElectronJS - sharing redux store between windows?(ElectronJS - 在 Windows 之間共享 redux 存儲?)
How to access camera/webcamera inside electron app?(如何在電子應(yīng)用程序中訪問相機(jī)/網(wǎng)絡(luò)攝像頭?)
主站蜘蛛池模板: 羞羞视频网站在线观看 | 亚洲一区 | 成人在线视频免费观看 | 伊人二区 | 91视频91| 97av在线| av在线天天 | 国产成人精品一区二区三区在线 | 欧美视频二区 | 久久久久网站 | www国产成人免费观看视频,深夜成人网 | 国产亚洲精品美女久久久久久久久久 | 国产高清视频在线观看 | 国产在线视频在线观看 | a欧美| 国产精品久久久久久久岛一牛影视 | 欧美日韩在线观看一区 | 国产精品亚洲第一区在线暖暖韩国 | 亚洲精品在线免费观看视频 | 欧美三区视频 | 一级毛片免费完整视频 | av毛片在线免费观看 | 尤物在线精品视频 | 午夜av影院| 国产成人麻豆免费观看 | 一二三四在线视频观看社区 | 欧美日韩国产一区二区三区 | 国产免费一区二区三区网站免费 | 91视频大全 | 久久精品视频亚洲 | 日韩精品一区二区三区在线观看 | 操久久| 亚洲精品一二三区 | 国产一区2区 | 密色视频 | 永久网站| 国产一级片在线观看视频 | 精品国产一区二区三区久久 | 人人玩人人添人人澡欧美 | 日韩毛片免费视频 | 亚洲性综合网 |