首页 > 其他分享 >Electron学习(三)之简单交互操作

Electron学习(三)之简单交互操作

时间:2022-09-19 00:22:32浏览次数:77  
标签:const 代码 Electron 学习 点击 add music 交互 app

点击按钮可以打开另一个界面
按钮及界面都需要样式

  • 引入样式
    安装bootstrap命令如下:
    npm install bootstrap --save
  • 点击按钮可以打开另一个界面
    在根目录下创建一个名为renderer的文件夹,并创建index.js,其作用就是向主进程发出通信,具体代码如下:
点击查看代码
const { ipcRenderer } = require('electron')
document.getElementById('add-music').addEventListener("click",()=>{
    ipcRenderer.send("add-music-window")
})
再创建一个名为index.html,示例代码如下:
点击查看代码
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'">

    <link href="../node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet"/>

    <title>本地音乐播放器</title>
</head>
<body>
<div class="container m-4">
    <h1>我的播放器</h1>
    <button type="button" id="add-music" class="btn btn-primary btn-lg btn-block m-4">添加歌曲到曲库</button>
    <!-- Content here -->
</div>
<script src="./index.js"></script>
</body>
</html>
再创建一个名为add.js,示例代码如下:
点击查看代码
const { ipcRenderer } = require('electron')
document.getElementById('add-music').addEventListener("click",()=>{
    ipcRenderer.send("add-music-window")
})
再创建一个名为add.html,示例代码如下:
点击查看代码
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>添加音乐</title>
    <link rel="stylesheet" href="../node_modules/bootstrap/dist/css/bootstrap.min.css">
</head>
<body>
<div class="container mt-4">
    <h1>添加音乐到曲库</h1>
    <div id="musicList" class="mb-2">您还未选择任何音乐文件</div>
    <button type="button" id="select-music" class="btn btn-outline-primary btn-lg btn-block mt-4">
        选择音乐
    </button>
    <button type="button" id="add-music" class="btn btn-primary btn-lg btn-block mt-4">
        导入音乐
    </button>
</div>
<script>
    require('./add.js')
</script>
</body>
</html>
接着再来修改main.js代码,使用ipcMain来接收渲染进程发起的点击事件,示例代码如下:
点击查看代码
const { app, BrowserWindow,ipcMain } = require('electron')
const createWindow = () => {
    const win = new BrowserWindow({
        width: 800,
        height: 600,
        webPreferences: {
            nodeIntegration: true,
            contextIsolation: false,
        }
    })
    win.loadFile('./renderer/index.html')
    ipcMain.on("add-music-window",()=>{
        const childWin = new BrowserWindow({
            width: 500,
            height: 300,
            webPreferences: {
                nodeIntegration: true,
                contextIsolation: false,
            },
            parent:win
        })
        childWin.loadFile('./renderer/add.html')
    })
}


app.whenReady().then(() => {
    createWindow()

    app.on('activate', () => {
        if (BrowserWindow.getAllWindows().length === 0) createWindow()
    })
})

app.on('window-all-closed', () => {
    if (process.platform !== 'darwin') app.quit()
})
效果npm start运行查看结果到此一个简单点击交互完成。

标签:const,代码,Electron,学习,点击,add,music,交互,app
From: https://www.cnblogs.com/as3Gui/p/16706354.html

相关文章

  • Electron学习(二)之主进程与渲染进程的通讯
    模拟主进程与渲染进程的通讯过程渲染进程根目录下添加renderer.js,既支持nodejs也支持domjs,示例代码如下:点击查看代码//这是渲染进程const{ipcRenderer}=require("......
  • 一点感悟(无关学习)
    一点小感悟“你其实很聪明,只是你懒”这句话似乎存在于每个人的青少年时期,老师、家长甚至是同学都或多或少对你说过这句话。然后你开始陷入了一个我很聪明但就是不努力的......
  • electron打包成exe
    目录electron打包成exe的步骤如下1.安装node.js2.全局安装electron-packager打包工具3.创建目录4.打开当前目录命令行打包方式一:命令行直接打包打包方式二:在package.json文......
  • 【博学谷学习记录】超强总结,用心分享|狂野架构师Redis双写一致性、延迟双删策略
    目录Redis数据双写一致性1、先更新缓存,后更新数据库3、并发下先删除缓存,后更新数据库4、并发下先更新数据库,后删除缓存常用方案:延迟双删策略。Redis数据双写一致性缓存......
  • 统计学习方法学习笔记-07-支持向量机03
    包含对三种支持向量机的介绍,包括线性可分支持向量机,线性支持向量机和非线性支持向量机,包含核函数和一种快速学习算法-序列最小最优化算法SMO。非线性支持向量机与核函数......
  • 《汇编指令》-学习笔记-4
    注:本文档为“《汇编语言(第3版)》王爽著”阅读过程中记的笔记。参考视频:通俗易懂的汇编语言(王爽老师的书)_哔哩哔哩_bilibili12内中断中断信息可以来自CPU的内部和外部......
  • 20201302姬正坤第十章学习笔记
    第三周学习笔记第十章第十章的主要内容是研究sh编程。对于sh编程的介绍分为以下几个方面:sh脚本与C程序sh脚本的编写sh控制语句sh汉书知识点归纳:经过一整章的......
  • 《信息安全系统设计与实现学习笔记3》
    一、知识点归纳以及自己最有收获的内容1、知识点归纳总结一下一门程序设计语言有哪些必备的要素和技能?这些要素和技能在shell脚本中是如果呈现出来的?程序设计语言有3个......
  • 2022-2023-1 20221312 《计算机基础与程序设计》第三周学习总结
    班级链接:首页-2022-2023-1-计算机基础与程序设计-北京电子科技学院-班级博客-博客园(cnblogs.com)作业要求:2022-2023-1《计算机基础与程序设计》教学进程-娄......
  • 第十章学习笔记
    第十章的主要内容是sh编程,包括以下几个方面:sh脚本和不同版本sh比较了sh脚本和C程序sh变量、sh语句、sh内置命令、常规系统命令和命令替换sh控制语句sh函数编写以及使......