使用电子在触摸条滑块上显示值

Using electron to show value on touch bar slider

我想显示 TouchBarSlider according to where I move it to. An example example of TouchBar can be followed here 的值。我仍然无法弄清楚如何使用 TouchBarSlider.

中的给定方法 change 来显示值

我当前的 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.4node 版本是 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();
});

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