博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
electron-系统对话框
阅读量:6377 次
发布时间:2019-06-23

本文共 2192 字,大约阅读时间需要 7 分钟。

hot3.png

Electron 提供了一个对话框模块,可用于显示本地系统对话框,可用于打开和保存文件,已经消息的提供。

下面我们简单以实例的方式演习一下,表示创建一个应用,弹出一个文件打开的窗口,将文件的内容显示出来。

创建一个新的main.js文件,并敲入下面的代码。

const {app, BrowserWindow} = require('electron')const url = require('url')const path = require('path')const {ipcMain} = require('electron')let winfunction createWindow() {   win = new BrowserWindow({width: 800, height: 600})   win.loadURL(url.format({      pathname: path.join(__dirname, 'index.html'),      protocol: 'file:',      slashes: true   }))}ipcMain.on('openFile', (event, path) => {      const {dialog} = require('electron')      const fs = require('fs')      dialog.showOpenDialog(function (fileNames) {          if(fileNames === undefined){                  console.log("No file selected");          }else{                  readFile(fileNames[0]);          }      });      function readFile(filepath){         fs.readFile(filepath, 'utf-8', (err, data) => {            if(err){               alert("An error ocurred reading the file :" + err.message)               return            }            // handle the file content            event.sender.send('fileData', data)      })      }})app.on('ready', createWindow)

上面我们使用了前面提到的IPC模块,用于从界面发送一个openFile的命令,接收到之后我们显示一个文件打开的窗口,并且将文件的内容发送到前台的界面。

现在我们创建一个index.html文件

    
File read using system dialogs

上面的代码主要的功能是向main线程发送一个openFile请求,再通过fileData的事件向界面显示文件的内容。

最终我们的效果如下图所示

![屏幕截图 2017-08-12 17.04.52]( 2017-08-12 17.04.52.png)

下面显示的是文件的内容

![屏幕截图 2017-08-12 17.06.49]( 2017-08-12 17.06.49.png) 2017-08-12 17.06.49.png)

上面我们只提供了显示文件打开的示例,同样的electron还提供保存文件以及显示消息的窗口。

dialog.showOpenDialog([browserWindow, ]options[, callback])

dialog.showSaveDialog([browserWindow, ]options[, callback])

显示保存文件窗口

dialog.showMessageBox([browserWindow, ]options[, callback])

dialog.showMessageBox({type:'info',title:"显示消息",message:'消息',detail:'这是一个提示的消息片段'},function(message){        console.log(message);    })

![屏幕截图 2017-08-12 17.18.00]( 2017-08-12 17.18.00.png)

dialog.showErrorBox(title, content) 显示错误消息

dialog.showErrorBox('显示提示消息',)

![屏幕截图 2017-08-12 17.14.28]( 2017-08-12 17.14.28.png)

dialog.showCertificateTrustDialog([browserWindow, ]options, callback)

转载于:https://my.oschina.net/u/215677/blog/1507149

你可能感兴趣的文章
医院CIO的一幅工作对联
查看>>
DPM灾难切换应用场景
查看>>
简单配置Oracle10g DataGuard物理备库
查看>>
网曝支付宝漏洞:手机丢了,支付宝也就完了
查看>>
4 在vCenter Server安装View Composer组件
查看>>
SFB 项目经验-24-为持久聊天室-查询或者增加成员
查看>>
Linux下配置Squid基础教程
查看>>
当Cacti遭遇大流量
查看>>
Outlook Anywhere 客户端配置详解
查看>>
《Windows Server 2008 R2系统管理实战》前言与内容提要
查看>>
轻巧的网络流量实时监控工具NTOPNG
查看>>
Access、Sql 获取当前插入的主键ID
查看>>
聚类算法之DBScan(Java实现)
查看>>
为什么要使用AOP?
查看>>
VC :模板类
查看>>
对C++中string类型的总结
查看>>
Oracle发布公共云Public Cloud
查看>>
eclipse高亮显示
查看>>
Shell 操作数据库
查看>>
if lte IE if gte IE 浏览器兼容
查看>>