GUI で 2 つの一般的なコントロール、Slider と SpinBox をリンクしようとしています。これらは、Blackmagic Fusion
ソフトウェアの Python ライブラリからのものです。私が試している方法では、SpinBox 値で Slider コントロールをオーバーライドしているように見えます。
これら2つのアイテムで利用可能なイベントはこちら
スライダー: ValueChanged、SliderMoved、ActionTriggered、SliderPressed、SliderRelease、RangeChanged、
SpinBox : EditingFinished、ValueChanged
# GUI
dlg = disp.AddWindow({'ID': 'myWin', 'WindowTitle': 'myWin', 'Geometry': [ 400, 100, 230, 400 ],},
[
ui.Slider({ 'ID': 'mySlider', 'Events': { 'SliderMoved': True, 'Activated': True } }),
ui.SpinBox({ 'ID': 'mySpinBox' }),
])
itm = dlg.GetItems()
# Updates the Spin value when moves the Slider
def _func(ev):
var = ev['Value']
itm['mySpinBox'].Value = var
dlg.On.mySlider.SliderMoved = _func
# Updates thed Slider position when SpinBox value is changed
def _func(ev):
itm['mySlider'].Value = itm['mySpinBox'].Value
dlg.On.mySpinBox.ValueChanged = _func