node.js - 使用 Electron 在触摸条 slider 上显示值

标签 node.js electron macbookpro-touch-bar

我想根据它移到的位置显示 TouchBarSlider 中的值。 TouchBar的示例示例可以在here之后。我仍然不知道如何使用change中给定的方法TouchBarSlider显示值。

我当前的main.js如下所示。

const {app, BrowserWindow, TouchBar} = require('electron')

const {TouchBarLabel, TouchBarSlider} = TouchBar
const slider = new TouchBarSlider({label: 'angle',
                                   minValue: 0,
                                   maxValue: 360})
const result = new TouchBarLabel()
result.label = '30' + ' deg'; 

const updateBar = () => {
  let timeout = 100;
  if (slider.change()){
    result.label = slider.values.toString() + ' deg'
  }
  setTimeout(updateBar, timeout)
}

const touchBar = new TouchBar([
  slider, // add slider
  result // add display for slider value but doesn't work yet
])

let window;

app.once('ready', () => {
  window = new BrowserWindow({
    width: 300,
    height: 200
  });
  window.loadURL('about:blank')
  window.setTouchBar(touchBar);
})

// Quit when all windows are closed and no other one is listening to this.
app.on('window-all-closed', () => {
    app.quit();
});

我也有示例存储库here。您可以将我给定的main.js替换为项目中的内容,以进行尝试。我的 Electron 版本是1.6.4,而 Node 版本是7.4.0

最佳答案

const { app, BrowserWindow, TouchBar } = require('electron');
const path = require('path')
const url = require('url')

const {TouchBarButton, TouchBarLabel, TouchBarSlider} = TouchBar

const result = new TouchBarLabel();
result.label = '30' + ' deg';

const slider = new TouchBarSlider({
                               label: 'angle',
                               minValue: 0,
                               maxValue: 360,
                               change: (val) => result.label = val.toString() + ' deg' // register event handler here!
                              });

const touchBar = new TouchBar([
  slider, // add slider
  result // add display for slider value
]);

let window;

app.once('ready', () => {
  window = new BrowserWindow({
  width: 300,
  height: 200
 });
  window.loadURL('about:blank');
  window.setTouchBar(touchBar);
});

// Quit when all windows are closed and no other one is listening to this.
app.on('window-all-closed', () => {
  app.quit();
});

工作代码。希望这可以帮助! ;)

关于node.js - 使用 Electron 在触摸条 slider 上显示值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43061427/

相关文章:

reactjs - Electron.js和带有Pack-react-app的webpack

automator - 如何在 Automator 中对 "Watch Me Do"QuickAction 进行安全 > 隐私设置

macos - 如何获取右侧 Touch Bar 控制中心的项目?

xcode - 完全重新安装 Xcode 9

javascript - Sinon spy 使用两种不同的回调签名

mysql - MariaDB node.js 的 pool.getConnection 的 typescript 错误

angularjs - 向 yeoman Angular-fullstack 项目添加新的依赖项

node.js - 如何在将图像上传到 AWS S3 时添加对图像的公共(public)访问

node.js - 在 Mac App Store 的 Electron 应用中实现应用内购买

javascript - 在Windows,Mac(Darwin)和Linux上按进程名称执行 Electron 杀进程