diff options
Diffstat (limited to 'qutebrowser/qt/_core_pyqtproperty.py')
-rw-r--r-- | qutebrowser/qt/_core_pyqtproperty.py | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/qutebrowser/qt/_core_pyqtproperty.py b/qutebrowser/qt/_core_pyqtproperty.py new file mode 100644 index 000000000..7f89b8e5b --- /dev/null +++ b/qutebrowser/qt/_core_pyqtproperty.py @@ -0,0 +1,73 @@ +# vim: ft=python fileencoding=utf-8 sts=4 sw=4 et: + +""" +# FIXME:mypy PyQt6-stubs issue +# WORKAROUND for missing pyqtProperty typing, ported from PyQt5-stubs: +# https://github.com/python-qt-tools/PyQt5-stubs/blob/5.15.6.0/PyQt5-stubs/QtCore.pyi#L70-L111 +""" + +# flake8: noqa +# pylint: disable=invalid-name,undefined-variable,too-many-arguments,redefined-builtin,unused-argument + +import typing +from PyQt6.QtCore import QObjectT, pyqtSignal + +if typing.TYPE_CHECKING: + + TPropertyTypeVal = typing.TypeVar('TPropertyTypeVal') + + TPropGetter = typing.TypeVar('TPropGetter', bound=typing.Callable[[QObjectT], TPropertyTypeVal]) + TPropSetter = typing.TypeVar('TPropSetter', bound=typing.Callable[[QObjectT, TPropertyTypeVal], None]) + TPropDeleter = typing.TypeVar('TPropDeleter', bound=typing.Callable[[QObjectT], None]) + TPropResetter = typing.TypeVar('TPropResetter', bound=typing.Callable[[QObjectT], None]) + + class pyqtProperty: + def __init__( + self, + type: typing.Union[type, str], + fget: typing.Optional[ + typing.Callable[[QObjectT], TPropertyTypeVal] + ] = None, + fset: typing.Optional[ + typing.Callable[[QObjectT, TPropertyTypeVal], None] + ] = None, + freset: typing.Optional[typing.Callable[[QObjectT], None]] = None, + fdel: typing.Optional[typing.Callable[[QObjectT], None]] = None, + doc: typing.Optional[str] = "", + designable: bool = True, + scriptable: bool = True, + stored: bool = True, + user: bool = True, + constant: bool = True, + final: bool = True, + notify: typing.Optional[pyqtSignal] = None, + revision: int = 0, + ) -> None: + ... + + type: typing.Union[type, str] + fget: typing.Optional[typing.Callable[[], TPropertyTypeVal]] + fset: typing.Optional[typing.Callable[[TPropertyTypeVal], None]] + freset: typing.Optional[typing.Callable[[], None]] + fdel: typing.Optional[typing.Callable[[], None]] + + def read(self, func: TPropGetter) -> "pyqtProperty": + ... + + def write(self, func: TPropSetter) -> "pyqtProperty": + ... + + def reset(self, func: TPropResetter) -> "pyqtProperty": + ... + + def getter(self, func: TPropGetter) -> "pyqtProperty": + ... + + def setter(self, func: TPropSetter) -> "pyqtProperty": + ... + + def deleter(self, func: TPropDeleter) -> "pyqtProperty": + ... + + def __call__(self, func: TPropGetter) -> "pyqtProperty": + ... |