diff options
Diffstat (limited to 'sources/pyside6/PySide6/support/deprecated.py')
| -rw-r--r-- | sources/pyside6/PySide6/support/deprecated.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/sources/pyside6/PySide6/support/deprecated.py b/sources/pyside6/PySide6/support/deprecated.py index f215f2ff5..449a5d2f0 100644 --- a/sources/pyside6/PySide6/support/deprecated.py +++ b/sources/pyside6/PySide6/support/deprecated.py @@ -18,6 +18,8 @@ PYSIDE-1735: This is also used now for missing other functions (overwriting __or in Qt.(Keyboard)Modifier). """ +import inspect +import sys import warnings from textwrap import dedent @@ -68,4 +70,28 @@ def fix_for_QtCore(QtCore): Qt.Modifier.__add__ = func_add Qt.Modifier.__radd__ = func_add + # PYSIDE-2101: Fix rlcompleter until we evict the __signature__ attribute + apply_rlcompleter_patch() + + +def apply_rlcompleter_patch(): + + def _callable_postfix(self, val, word): + if callable(val): + word += "(" + try: + if not inspect.signature(val).parameters: + word += ")" + except ValueError: + pass + # PYSIDE-2101: this line is added because inspect.signature cannot handle lists + except TypeError: + pass + + return word + + if sys.version_info[:2] >= (3, 10): + from rlcompleter import Completer + Completer._callable_postfix = _callable_postfix + # eof |
