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
                })
            },
        }

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

目录
相关文章
|
小程序 开发工具 Android开发
uni-app使用HBuilder X编辑器本地打包apk步骤说明
uni-app使用HBuilder X编辑器本地打包apk步骤说明
1018 0
|
5月前
electron-vue 窗体禁止拖拽
electron-vue 窗体禁止拖拽
115 0
|
7月前
|
移动开发 小程序 API
uniapp中uview组件库丰富的ActionSheet 操作菜单使用方法
uniapp中uview组件库丰富的ActionSheet 操作菜单使用方法
371 1
|
7月前
|
移动开发 小程序 API
uniapp中uview组件库TopTips 顶部提示使用方法
uniapp中uview组件库TopTips 顶部提示使用方法
188 1
|
JavaScript 开发工具 git
使用webstorm来创建并且运行vue项目详细教程
使用webstorm来创建并且运行vue项目详细教程
996 0
|
7月前
|
JavaScript 前端开发
ant design vue 配置菜单外部打开
ant design vue 配置菜单外部打开
47 0
|
7月前
|
API 数据安全/隐私保护
uniapp中的uview组件库丰富的Keyboard 键盘 用法
uniapp中的uview组件库丰富的Keyboard 键盘 用法
337 0
|
JavaScript
Vue移动端框架Mint UI教程-跳转新页面(四)
Vue移动端框架Mint UI教程-跳转新页面(四)
131 0
|
JavaScript
Vue移动端框架Mint UI教程-底部导航栏(二)
Vue移动端框架Mint UI教程-底部导航栏(二)
92 0
|
Python
Python高级进阶#019 pyqt5菜单menu应用,新建多窗体
Python高级进阶#019 pyqt5菜单menu应用,新建多窗体
228 0