From 0f2d5f3f37b5c8c49dfb4647d80b7cdff5e70a17 Mon Sep 17 00:00:00 2001 From: adrienmalin <41926238+adrienmalin@users.noreply.github.com> Date: Thu, 16 Aug 2018 18:26:43 +0200 Subject: [PATCH] test propertize Qt5 --- qt5.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/qt5.py b/qt5.py index 24a3b58..42fd1aa 100644 --- a/qt5.py +++ b/qt5.py @@ -26,3 +26,36 @@ except ImportError as pyqt5_error: else: os.environ["QT_API"] = "pyqt5" QtCore.Signal = QtCore.pyqtSignal + + +def propertize(class_): + class_dict = class_.__dict__.copy() + for name, attr in class_dict.items(): + if isinstance(attr, type): + propertize(attr) + else: + try: + setattr(class_, "get" + name.capitalize(), copy(attr)) + setattr( + class_, + name, + property( + getattr(class_, "get" + name.capitalize()), + getattr(class_, "set" + name.capitalize()) + ) + ) + print(getattr(class_, "get" + name.capitalize())) + except AttributeError: + pass + + +"""for module in QtWidgets, QtCore, QtGui, QtMultimedia: + for class_ in module.__dict__.values(): + if isinstance(class_, type): + propertize(class_)""" + +propertize(QtCore.QPoint) + +if __name__ == "__main__": + p=QtCore.QPoint(1,1) + print(p.x) \ No newline at end of file