From f08e2d17200436a99f12f64bfbee74ae054b7365 Mon Sep 17 00:00:00 2001 From: Markus Stabrin Date: Wed, 3 Aug 2022 15:35:56 +0200 Subject: [PATCH] Fix float value error in pyqt configuration (#106) Co-authored-by: Markus Stabrin --- src/superqt/sliders/_labeled.py | 9 ++++++++- tests/test_sliders/test_labeled_slider.py | 9 ++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) 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()