test propertize Qt5

This commit is contained in:
adrienmalin 2018-08-16 18:26:43 +02:00
parent 095e0ebf62
commit 0f2d5f3f37

33
qt5.py
View File

@ -26,3 +26,36 @@ except ImportError as pyqt5_error:
else: else:
os.environ["QT_API"] = "pyqt5" os.environ["QT_API"] = "pyqt5"
QtCore.Signal = QtCore.pyqtSignal 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)