def setValueRange(self, minValue, maxValue): newValue = np.clip(self._value, minValue, maxValue) changed = newValue != self._value self.minValue = minValue self.maxValue = maxValue self._value = newValue with qtutils.BlockSignals(self.spinbox): self.spinbox.minimum = minValue self.spinbox.maximum = maxValue self._syncSpinBox() self._syncSlider() if changed: self._notifyValueChanged()
def _onSliderValueChanged(self, sliderValue): value = (self.minValue + (self.maxValue - self.minValue) * (sliderValue / float(self.slider.maximum))) with qtutils.BlockSignals(self.spinbox): self.spinbox.value = value self.callbacks.process(self.events.VALUE_CHANGED, value)
def _onSpinboxValueChanged(self, spinboxValue): sliderValue = self.slider.maximum * (spinboxValue - self.minValue) / float(self.maxValue - self.minValue) with qtutils.BlockSignals(self.slider): self.slider.value = sliderValue self.callbacks.process(self.events.VALUE_CHANGED, spinboxValue)
def _syncSpinBox(self): with qtutils.BlockSignals(self.spinbox): self.spinbox.value = self._value
def _syncSlider(self): with qtutils.BlockSignals(self.slider): self.slider.value = self.slider.maximum * ( self._value - self.minValue) / float(self.maxValue - self.minValue)
def setResolution(self, resolution): with qtutils.BlockSignals(self.slider): self.slider.maximum = resolution self._syncSlider()