使用Web前端技术开发桌面应用---Electron 创建菜单和基本使用

17 篇文章 1 订阅

码字不易,有帮助的同学希望能关注一下我的微信公众号:Code程序人生,感谢!代码自用自取。

在这里插入图片描述

每一个桌面应用都会有一个窗口,这个视频就学习一下在Electron中使用Menu来完成菜单的创建。话不多说,直接动手操作。

编写菜单模板

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

我们打开项目,在项目的根目录下新建一个文件夹menu,然后新建一个menu.js文件,然后编写如下代码。

const { Menu } = require('electron')

var template = [
    {
        label:'菜单A',
        submenu:[
            {label:'A子菜单1'},
            {label:'A子菜单2'}
        ]

    },
    {
        label:'菜单B',
        submenu:[
            {label:'B子菜单1'},
            {label:'B子菜单2'}
        ]
    }
]

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:'菜单A',
        submenu:[
            {
                label:'A子菜单1',
                click:() => {
                    var win = new BrowserWindow({
                        width:500,
                        height:500,
                        webPreferences:{
                            nodeIntegration:true
                        }
                    })
                    win.loadFile('remotePage.html')

                    win.on('closed',() => {
                        win = null;
                    })
                }
            },
            {label:'A子菜单2'}
        ]
    },
    {
        label:'菜单B',
        submenu:[
            {label:'B子菜单1'},
            {label:'B子菜单2'}
        ]
    }
];

var m = Menu.buildFromTemplate(template);

Menu.setApplicationMenu(m);

这时候我们打开终端输入electron .之后,就可以看到效果了,当然我们还可以绑定快捷键,我们下一个博客再讲解。这个先动手作出来吧。

在这里插入图片描述


有微信小程序课设、毕设需求联系个人QQ:505417246

关注下面微信公众号,可以领取微信小程序、Vue、TypeScript、前端、uni-app、全栈、Nodejs、Python等实战学习资料
最新最全的前端知识总结和项目源码都会第一时间发布到微信公众号,请大家多多关注,谢谢

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CreatorRay

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值