diff options
Diffstat (limited to 'silx/gui/plot3d/ParamTreeView.py')
-rw-r--r-- | silx/gui/plot3d/ParamTreeView.py | 11 |
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) |