Document about why dynamically adding signals and slots (on signal connection for instance) will cause issues both in Qt and PySide, and might lead to hard-to-debug issues and crashes.
Main takeaways:
1) Always decorate slots with @QtCore.Slot()
2) Don't dynamically add / remove signals or slots after a connection is made to any signal or slot.
3) Do not create signals in __init__ methods, the mySignal = QtCore.Signal() definitions should be as class members of the custom class.
For Gerrit Dashboard: PYSIDE-463 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
192546,2 | hellogl.py: Fix signal creation | 5.6 | pyside/examples | Status: MERGED | +2 | 0 |
499432,2 | Documentation/Signal slot tutorial: Recommend to use @Slot always | dev | pyside/pyside-setup | Status: MERGED | +2 | 0 |
499483,2 | Documentation/Signal slot tutorial: Recommend to use @Slot always | 6.5 | pyside/pyside-setup | Status: MERGED | +2 | 0 |
499484,2 | Documentation/Signal slot tutorial: Recommend to use @Slot always | tqtc/lts-6.2 | pyside/tqtc-pyside-setup | Status: MERGED | +2 | 0 |