diff --git a/src/superqt/sliders/_labeled.py b/src/superqt/sliders/_labeled.py index f39754c..a891ae3 100644 --- a/src/superqt/sliders/_labeled.py +++ b/src/superqt/sliders/_labeled.py @@ -128,7 +128,7 @@ class QLabeledSlider(_SliderProxy, QAbstractSlider): super().__init__(parent) self._slider = self._slider_class() - self._label = SliderLabel(self._slider, connect=self._slider.setValue) + self._label = SliderLabel(self._slider, connect=self._setValue) self._edge_label_mode: EdgeLabelMode = EdgeLabelMode.LabelIsValue self._rename_signals() @@ -142,6 +142,13 @@ class QLabeledSlider(_SliderProxy, QAbstractSlider): self.setOrientation(orientation) + def _setValue(self, value: float): + """ + Convert the value from float to int before + setting the slider value + """ + self._slider.setValue(int(value)) + def _rename_signals(self): # for subclasses pass diff --git a/tests/test_sliders/test_labeled_slider.py b/tests/test_sliders/test_labeled_slider.py index 8e0dfc9..9b66d44 100644 --- a/tests/test_sliders/test_labeled_slider.py +++ b/tests/test_sliders/test_labeled_slider.py @@ -1,4 +1,4 @@ -from superqt import QLabeledRangeSlider +from superqt import QLabeledRangeSlider, QLabeledSlider def test_labeled_slider_api(qtbot): @@ -9,3 +9,10 @@ def test_labeled_slider_api(qtbot): slider.setBarVisible() slider.setBarMovesAllHandles() slider.setBarIsRigid() + + +def test_slider_connect_works(qtbot): + slider = QLabeledSlider() + qtbot.addWidget(slider) + + slider._label.editingFinished.emit()