From 0002d5ee37b0982af92c5b200aa2636f699ebdcd Mon Sep 17 00:00:00 2001 From: Talley Lambert Date: Tue, 30 May 2023 13:24:36 -0400 Subject: [PATCH] fix: fix double slider label editing (#168) --- src/superqt/sliders/_labeled.py | 4 ++++ tests/test_sliders/test_labeled_slider.py | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/src/superqt/sliders/_labeled.py b/src/superqt/sliders/_labeled.py index 5fafaa2..a2d45f0 100644 --- a/src/superqt/sliders/_labeled.py +++ b/src/superqt/sliders/_labeled.py @@ -221,6 +221,10 @@ class QLabeledDoubleSlider(QLabeledSlider): super().__init__(*args, **kwargs) self.setDecimals(2) + def _setValue(self, value: float): + """Convert the value from float to int before setting the slider value.""" + self._slider.setValue(value) + def _rename_signals(self): self.valueChanged = self._fvalueChanged self.sliderMoved = self._fsliderMoved diff --git a/tests/test_sliders/test_labeled_slider.py b/tests/test_sliders/test_labeled_slider.py index 495585e..25525e0 100644 --- a/tests/test_sliders/test_labeled_slider.py +++ b/tests/test_sliders/test_labeled_slider.py @@ -77,3 +77,11 @@ def test_editing_finished_signal(cls, qtbot): else: slider._min_label.editingFinished.emit() mock.assert_called_once() + + +def test_editing_float(qtbot): + slider = QLabeledDoubleSlider() + qtbot.addWidget(slider) + slider._label.setValue(0.5) + slider._label.editingFinished.emit() + assert slider.value() == 0.5