electron菜单的基本使用

简介: electron菜单的基本使用

对electron了解之后,让我们学习创建一个窗口,使用自己的编写的窗口
搭建环境可以看 查看

Menu菜单

创建一个menu.js文件,编写一下代码,结构相当于JSON格式的

const {
    Menu
} = require('electron')
const template = [{
        label: '首页'
    },
    {
        label: '新闻资讯',
        submenu: [{
            label: '国内新闻',
            submenu: [{
                label: '北京新闻'
            }, {
                label: '河南新闻'
            }]
        }, {
            label: '国际新闻'
        }]
    },
    {
        label: '娱乐',
        submenu: [{
            label: '音乐'
        }, {
            label: '电影'
        }, {
            label: '综艺'
        }]
    },
    {
        label: '科技',
        submenu: [{
            label: 'Al'
        }, {
            label: '手机'
        }, {
            label: '互联网'
        }]
    }
]

var list = Menu.buildFromTemplate(template)
Menu.setApplicationMenu(list)

创建主入口文件main.js文件

在ready生命周期中,直接加入下面的代码,

const electron = require('electron') //引入electron模块
var app = electron.app //创建electron引用
var BrowserWindow = electron.BrowserWindow; //创建窗口引用

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

主入口js
var mainWindow = null; //声明要打开的主窗口
app.on('ready', () => {
    //设置窗口的大小
    mainWindow = new BrowserWindow({
        width: 900,
        height: 900,
        webPreferences: {
            nodeIntegration: true
        }
    })
    require('./openMenu/menu.js')
    mainWindow.loadFile('menu.html'); //要加载的文件

    //监听关闭事件,在把主窗口设置位null
    mainWindow.on('closed', () => {
        mainWindow = null;
    })
})

这时候我们打开终端输入electron .之后,就可以看到效果了,
在这里插入图片描述
如果想给菜单绑定点击事件,在menu.js引入BrowserWindow模块
如果要打开新的窗口,就必须要创建新的html文件

const {
    Menu,
    BrowserWindow
} = require('electron')

对需要的菜单绑定事件

{
            label: '国际新闻',
            click: () => {
                var open = new BrowserWindow({
                    width: 500,
                    height: 500,
                    webPreferences: {
                        nodeIntegration: true
                    }
                })
                open.loadFile('yellow.html')
                open.on('close', () => {
                    open = null
                })
            },
        }

当我们点击国际新闻的时候
在这里插入图片描述
这就是菜单的时候效果

目录
相关文章
|
4月前
three.js的Gui面板使用方法
three.js的Gui面板使用方法
63 0
|
5天前
|
移动开发 小程序 API
uniapp中uview组件库丰富的ActionSheet 操作菜单使用方法
uniapp中uview组件库丰富的ActionSheet 操作菜单使用方法
39 1
|
12天前
|
API CDN
Electron Markdown编辑器实战:资源管理器实现
Electron Markdown编辑器实战:资源管理器实现
|
22天前
|
JavaScript 前端开发
ant design vue 配置菜单外部打开
ant design vue 配置菜单外部打开
16 0
|
5月前
|
JavaScript
设置VSCode快捷键vue生成代码片段
设置VSCode快捷键vue生成代码片段
设置VSCode快捷键vue生成代码片段
|
6月前
|
JavaScript
Vue移动端框架Mint UI教程-底部导航栏(二)
Vue移动端框架Mint UI教程-底部导航栏(二)
54 0
|
9月前
CTK框架 - 将菜单按钮写到插件中
之前我们在的两个插件Core和About,在Core和About中加入了界面,并且Core中插入了一个菜单,点击之后弹出About界面。 我们现在来用之前的知识把菜单改成注册的,并且点击之后弹出About界面。 我这里的思路是使用事件或者是在Core中加注册的服务来注册菜单。之后点击菜单的时候发送事件。
67 0
|
前端开发 JavaScript IDE
HBuilderX|前端编辑器
HBuilderX|前端编辑器
491 0
electron-vue升级electron到最新的版本后启动不起来,窗口一闪而过。
electron-vue 升级electron到最新的版本后启动不起来,窗口一闪而过。 排查后原因: electron-vue中的集成了很多库 单方面升级了 electron版本,导致了其他库的版本的不匹配 解决: 升级配套库的版本
265 0
|
JavaScript 前端开发 开发工具
【笔记01】在 uniapp 安装 uview-ui
① 第一次参与工作期间,我用 vue 搭建制作公司的一个项目。一个前端同事甲(甘圆圆)问我为什么不用 uniapp 和 HBuilderX?还说用 uniapp 更加容易。在帮我处理某个 bug(用 vue 创建的项目需要引入 base.css 和 normalize.css,否则样式未清除)的使用坐离我比较近的另一个同事问我 bug 是否解决?我告诉她:通过引入 base.css 和 normalize.css 进行解决。她说:哦!原生的需要引入。 ② 原生的?难道我使用的 vue 非常 low 吗?鉴于两个同事都提到 vue 比较难,我开始了 uniapp 创建项目的过程。 ③ 该文章只是
847 1
【笔记01】在 uniapp 安装 uview-ui