diff --git a/CHANGELOG b/CHANGELOG index b9e56d51..64260ccb 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -77,6 +77,7 @@ pyqtgraph-0.9.9 [unreleased] - MeshData can generate edges from face-indexed vertexes - Fixed multiprocess deadlocks on windows - Fixed GLGridItem.setSize + - Fixed parametertree.Parameter.sigValueChanging pyqtgraph-0.9.8 2013-11-24 diff --git a/examples/parametertree.py b/examples/parametertree.py index c0eb50db..b8638e02 100644 --- a/examples/parametertree.py +++ b/examples/parametertree.py @@ -123,6 +123,17 @@ def change(param, changes): p.sigTreeStateChanged.connect(change) +def valueChanging(param, value): + print "Value changing (not finalized):", param, value + +# Too lazy for recursion: +for child in p.children(): + child.sigValueChanging.connect(valueChanging) + for ch2 in child.children(): + ch2.sigValueChanging.connect(valueChanging) + + + def save(): global state state = p.saveState() diff --git a/pyqtgraph/parametertree/parameterTypes.py b/pyqtgraph/parametertree/parameterTypes.py index 92eca90f..1f3eb692 100644 --- a/pyqtgraph/parametertree/parameterTypes.py +++ b/pyqtgraph/parametertree/parameterTypes.py @@ -208,12 +208,14 @@ class WidgetParameterItem(ParameterItem): val = self.widget.value() newVal = self.param.setValue(val) - def widgetValueChanging(self): + def widgetValueChanging(self, *args): """ Called when the widget's value is changing, but not finalized. For example: editing text before pressing enter or changing focus. """ - pass + # This is a bit sketchy: assume the last argument of each signal is + # the value.. + self.param.sigValueChanging.emit(self.param, args[-1]) def selected(self, sel): """Called when this item has been selected (sel=True) OR deselected (sel=False)"""