Electron 创建菜单和基本使用

发布于 2021-06-15 12:24:09 字数 1550 浏览 1482 评论 0

一、编写菜单模版

在 Electron 中编写菜单,需要先建立一个模板,这个目标很类似我们 JSON 或者类的数组。

我们打开项目,在项目的根目录下新建一个文件夹 main,意思是主进程中用到的代码我们都写到这里。

然后新建一个 menu.js 文件,然后编写如下代码。

const { Menu } = require('electron');

var template = [
  {
    label:'凤来怡洗浴会所',
    submenu:[
      {label:'精品SPA'},
      {label:'泰式按摩'}
    ]

  },
  {
    label:'大浪淘沙洗浴中心',
    submenu:[
      {label:'牛奶玫瑰浴'},
      {label:'爱情拍拍手'}
    ]
  }
];

var m = Menu.buildFromTemplate(template);
Menu.setApplicationMenu(m);

然后再打开主进程 main.js 文件,在 ready 生命周期中,直接加入下面的代码,就可以实现自定义菜单了。

require('./main/menu.js')

需要注意的是,Menu 属于是主线程下的模块,所以只能在主线程中使用,这个要记清楚。

二、使用菜单打开新窗口

有了菜单之后,可以在菜单中加入 click 事件,代码如下:

const { Menu ,BrowserWindow} = require('electron');
var template = [
  {
    label:'凤来怡洗浴会所',
    submenu:[
      {
        label:'精品SPA',
        //主要代码--------------start
        click:()=>{
          win = new BrowserWindow({
            width:500,
            height:500,
            webPreferences:{ nodeIntegration:true}
          });
          win.loadFile('yellow.html');
          win.on('closed',()=>{
            win = null
          })

        }
        //主要代码----------------end
      },
      {label:'泰式按摩'}
    ]

  },
  {
    label:'大浪淘沙洗浴中心',
    submenu:[
      {label:'牛奶玫瑰浴'},
      {label:'爱情拍拍手'}
    ]
  }
];

var m = Menu.buildFromTemplate(template);
Menu.setApplicationMenu(m);

这时候我们打开终端输入 electron . 之后,就可以看到效果了,当然我们还可以绑定快捷键

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84960 人气
更多

推荐作者

linfzu01

文章 0 评论 0

可遇━不可求

文章 0 评论 0

枕梦

文章 0 评论 0

qq_3LFa8Q

文章 0 评论 0

JP

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文