summaryrefslogtreecommitdiff
path: root/silx/gui/plot3d/ParamTreeView.py
diff options
context:
space:
mode:
Diffstat (limited to 'silx/gui/plot3d/ParamTreeView.py')
-rw-r--r--silx/gui/plot3d/ParamTreeView.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/silx/gui/plot3d/ParamTreeView.py b/silx/gui/plot3d/ParamTreeView.py
index a352627..ee0c876 100644
--- a/silx/gui/plot3d/ParamTreeView.py
+++ b/silx/gui/plot3d/ParamTreeView.py
@@ -40,6 +40,7 @@ __license__ = "MIT"
__date__ = "05/12/2017"
+import numbers
import sys
from silx.third_party import six
@@ -362,7 +363,7 @@ class ParameterTreeDelegate(qt.QStyledItemDelegate):
assert isinstance(editor, qt.QWidget)
editor.setParent(parent)
- elif isinstance(data, (int, float)) and editorHint is not None:
+ elif isinstance(data, numbers.Number) and editorHint is not None:
# Use a slider
editor = IntSliderEditor(parent)
range_ = editorHint
@@ -394,7 +395,11 @@ class ParameterTreeDelegate(qt.QStyledItemDelegate):
if hasattr(notifySignal, 'signature'): # Qt4
signature = notifySignal.signature()
else:
- signature = bytes(notifySignal.methodSignature())
+ signature = notifySignal.methodSignature()
+ if qt.BINDING == 'PySide2':
+ signature = signature.data()
+ else:
+ signature = bytes(signature)
if hasattr(signature, 'decode'): # For PySide with python3
signature = signature.decode('ascii')
@@ -472,7 +477,7 @@ class ParamTreeView(qt.QTreeView):
editorHint = index.data(qt.Qt.UserRole)
if (isinstance(data, bool) or
callable(editorHint) or
- (isinstance(data, (float, int)) and editorHint)):
+ (isinstance(data, numbers.Number) and editorHint)):
self.openPersistentEditor(index)
self.__persistentEditors.add(index)