非常教程

Electron参考手册

dialog

dialog

显示用于打开和保存文件的本机系统对话框,警报等。

Process: Main

显示对话框以选择多个文件和目录的示例:

const {dialog} = require('electron')
console.log(dialog.showOpenDialog({properties: ['openFile', 'openDirectory', 'multiSelections']}))

Dialog从Electron的主线程中打开。如果您想使用渲染器进程中的对话框对象,请记住使用远程对象进行访问:

const {dialog} = require('electron').remote
console.log(dialog)

Methods

dialog模块具有以下方法:

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

  • browserWindow BrowserWindow(可选)
  • options 目的
    • title 字符串(可选)
    • defaultPath 字符串(可选)
    • buttonLabel 字符串(可选) - 确认按钮的自定义标签,当其为空时,将使用默认标签。
    • filters FileFilter [](可选)
    • properties字符串 - 包含对话框应该使用的特征。支持以下值:
      • openFile - 允许选择文件。
      • openDirectory - 允许选择目录。
      • multiSelections - 允许选择多个路径。
      • showHiddenFiles - 在对话框中显示隐藏的文件。
      • createDirectory - 允许从对话框创建新的目录。苹果系统
      • promptToCreate - 如果在对话框中输入的文件路径不存在,则提示创建。这实际上并不在路径上创建文件,但允许返回应该由应用程序创建的不存在的路径。视窗
      • noResolveAliases - 禁用自动别名(符号链接)路径解析。选定的别名现在将返回别名路径而不是其目标路径。苹果系统
      • treatPackageAsDirectory- 将包(如.app文件夹)视为目录而不是文件。苹果系统
-  `message` String (optional) _macOS_ - Message to display above input boxes.
  • callback 功能(可选)
    • filePaths String [] - 用户选择的文件路径数组

返回String[]一个由用户选择的文件路径数组,如果提供回调则返回undefined

browserWindow参数允许对话框将其自身附加到父窗口,使其成为模态。

filters指定可以在需要时以限制用户对特定类型被显示或选择的文件类型的数组。例如:

{
  filters: [
    {name: 'Images', extensions: ['jpg', 'png', 'gif']},
    {name: 'Movies', extensions: ['mkv', 'avi', 'mp4']},
    {name: 'Custom File Type', extensions: ['as']},
    {name: 'All Files', extensions: ['*']}
  ]
}

extensions数组应该包含没有通配符或点扩展(例如'png'是好的,但'.png''*.png'是坏的)。要显示所有文件,请使用'*'通配符(不支持其他通配符)。

如果传递了callback将是异步的,并且,那么API调用结果将通过callback(filenames)

注意:在Windows和Linux的打开对话框不能既是一个文件选择器和目录选择,因此,如果您设置properties['openFile', 'openDirectory']这些平台上的目录选择将被显示。

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

  • browserWindow BrowserWindow(可选)
  • options 目的
    • title 字符串(可选)
    • defaultPath 字符串(可选) - 默认使用的绝对目录路径,绝对文件路径或文件名。
    • buttonLabel 字符串(可选) - 确认按钮的自定义标签,当其为空时,将使用默认标签。
    • filters FileFilter [](可选)
    • message字符串(可选)macOS - 显示上面文本字段的消息。
    • nameFieldLabel字符串(可选)macOS - 文件名文本字段前显示文本的自定义标签。
    • showsTagField布尔(可选)macOS - 显示标签输入框,默认为true
  • callback 功能(可选)
    • filename

返回String,用户选择的文件路径,如果提供回调则返回undefined

browserWindow参数允许对话框将其自身附加到父窗口,使其成为模态。

所述filters指定的文件类型的阵列可以被显示,见dialog.showOpenDialog的一个例子。

如果传递了callback ,那么API调用将是异步的,并且结果将通过callback(filename)

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

  • browserWindow BrowserWindow(可选)
  • options 目的
    • type字符串(可选) -可以是"none""info""error""question""warning"。在Windows上,"question"显示与图标相同的图标"info",除非您使用该"icon"选项设置图标。在MacOS,既"warning""error"显示相同的警告图标。
    • buttons字符串 - 按钮文本数组。在Windows上,一个空数组将导致一个标签为“OK”的按钮。
    • defaultId 整数(可选) - 按钮阵列中按钮的索引,当消息框打开时将默认选择该按钮。
    • title 字符串(可选) - 消息框的标题,某些平台不会显示它。
    • message 字符串 - 消息框的内容。
    • detail 字符串(可选) - 消息的额外信息。
    • checkboxLabel字符串(可选) - 如果提供,消息框将包含一个带给定标签的复选框。复选框状态只能在使用时检查callback
    • checkboxChecked布尔(可选) - 复选框的初始选中状态。false默认。
    • icon NativeImage(可选)
    • cancelId整数(可选) - 通过键用于取消对话框的按钮索引Esc。默认情况下,将其分配给第一个按钮,其中“取消”或“否”作为标签。如果没有这样的标签按钮,并且没有设置此选项,0则将用作返回值或回调响应。Windows上忽略此选项。
    • noLink布尔(可选) - 在Windows上,Electron将尝试找出哪一个buttons常用按钮(如“取消”或“是”),并在对话框中显示其他按钮作为命令链接。这可以使对话框以现代Windows应用程序的样式显示。如果你不喜欢这种行为,你可以设置noLinktrue
    • normalizeAccessKeys布尔(可选) - 跨平台规范键盘访问键。默认是false。启用此假定&用于放置键盘快捷键访问键的按钮标签,标签将被转换,以便它们在每个平台上正常工作,&在macOS上删除字符,_在Linux 上转换为字符,并在Windows上保持原样。例如,一个按钮标签Vie&w将被转换为Vie_w在Linux和ViewMacOS上,并且可以通过Alt-WWindows和Linux 进行选择。
  • callback 功能(可选)
    • response Number - 被点击的按钮的索引
    • checkboxChecked布尔值 - checkboxLabel已设置复选框的选中状态。否则false

返回Integer,单击按钮的索引,如果提供了回调,则返回undefined。

显示一个消息框,它将阻止该过程,直到消息框关闭。它返回点击按钮的索引。

browserWindow参数允许对话框将其自身附加到父窗口,使其成为模态。

如果a callback通过,对话框将不会阻止该进程。API调用将是异步的,结果将通过callback(response)

dialog.showErrorBox(title, content)

  • title 字符串 - 要显示在错误框中的标题
  • content 字符串 - 要显示在错误框中的文本内容

显示一个显示错误消息的模式对话框。

readyapp模块发出事件之前,可以安全地调用此API ,它通常用于在启动的早期阶段报告错误。如果ready在Linux上的应用程序事件之前调用,则该消息将发送到stderr,并且不会出现GUI对话框。

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

  • browserWindow BrowserWindow(可选)
  • options 目的
    • certificate 证书 - 要信任/导入的证书。
    • message 字符串 - 要显示给用户的消息。
  • callback 功能

在macOS上,这将显示一个模式对话框,显示消息和证书信息,并为用户提供信任/导入证书的选项。如果提供browserWindow参数,则对话框将附加到父窗口,使其成为模态。

在Windows上,由于使用了Win32 API,选项更加有限:

  • message参数未使用,因为操作系统提供了自己的确认对话框。
  • browserWindow参数被忽略,因为无法进行此确认对话模态。

Sheets

在macOS上,如果您BrowserWindowbrowserWindow参数中提供参考,则会将对话框显示为附加到窗口的图纸; 如果未提供窗口,则显示模式。

您可以调用BrowserWindow.getCurrentWindow().setSheetOffset(offset)以更改纸张所在窗口框的偏移量。

dialog相关

Electron

Electron 是一个使用 JavaScript, HTML 和 CSS 等 Web 技术创建原生程序的框架,它负责比较难搞的部分,你只需把精力放在你的应用的核心上即可。

主页 https://electron.atom.io/
源码 https://github.com/electron/electron
发布版本 1.7.9

Electron目录

1.指南 | Guides
2.指南·开发 | Guides: Development
3.Webview 组件 |
4.加速器 | Accelerator
5.API
6.API·对象 | API·Objects
7.app
8.autoUpdater
9.浏览器总览 | BrowserView
10.浏览器窗口 | BrowserWindow
11.浏览器窗口代理 | BrowserWindowProxy)
12.ClientRequest
13.剪贴板 | clipboard
14.内容追踪 | contentTracing
15.小型文字档案 | Cookies
16.crashReporter
17.调试器 | Debugger
18.desktopCapturer
19.dialog
20.电子下载 | DownloadItem
21.环境变量 | Environment Variables
22.无框窗口 | Frameless Window
23.globalShortcut
24.IncomingMessage
25.ipcMain
26.IPC渲染器 | ipcRenderer
27.语言环境 | Locales
28.画面 | Menu
29.MenuItem
30.本地图像 | nativeImage
31.net
32.通知 | Notification
33.权限监控 | powerMonitor
34.权限存储拦截器 | powerSaveBlocker
35.处理 | process
36.协议 | protocol
37.远程 | remote
38.sandbox
39.屏幕 | screen
40.会话 | session
41.shell
42.系统表现 | systemPreferences
43.触摸板 | TouchBar
44.触摸板按钮 | TouchBarButton
45.触摸板颜色选择器 | TouchBarColorPicker
46.触摸板组 | TouchBarGroup
47.触摸板标签 | TouchBarLabel
48.触摸板弹出框 | TouchBarPopover
49.触摸板清理 | TouchBarScrubber
50.触摸板分段控制 | TouchBarSegmentedControl
51.触摸板滑块 | TouchBarSlider
52.触摸板间隔 | TouchBarSpacer
53.Tray
54.网页内容 | webContents
55.网页框架 | webFrame
56.网页要求 | WebRequest
57.窗口开启 | window.open