Details
Description
Apparently QObject __init__ method does not call super to allow cooperative multiple inheritance as suggested in https://rhettinger.wordpress.com/2011/05/26/super-considered-super/
The script attached allows to reproduce the problem and it works with PyQt5.
I am not 100% sure whether this is a bug or intended behavior.
Attachments
Issue Links
- relates to
-
PYSIDE-800 Segmentation fault on QGraphicsLineItem and QObject hybrid using super()
- Closed
-
PYSIDE-1434 can't use ABC with Pyside2
- Closed
-
PYSIDE-1991 Multiple Inheritance segfault on PyPySide
- Reported
-
PYSIDE-2397 RuntimeError when instantiating a class, which inherits multiple subclasses of a Qt class, some Pythonic, some Qt ones
- Open
-
PYSIDE-1613 Unexpected behavior with inheritance and properties
- Closed
-
PYSIDE-2600 UpdateGeometry causes crash in a multiple inheritance tree where the first superclass is itself a subclass of QWidget and the second superclass is a QFrame
- Closed
-
PYSIDE-2844 Multiple inheritance gives TypeError in __init__
- Closed
-
PYSIDE-2506 Unable to subclass QPaintDeviceWindow
- Closed
-
PYSIDE-2654 Multiple inheritance with mixin class get TypeError in __init__
- Closed
- resulted in
-
PYSIDE-2282 QMainWindow and multiple inheritance from QWidget
- Closed
-
PYSIDE-2294 TypeError with PySide 6.5.0 for multiple inheritance of MainWindow
- Closed
-
PYSIDE-2304 Class inheritance order breaks initialisation order
- Closed
For Gerrit Dashboard: PYSIDE-1564 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
350957,35 | Implement multiple inheritance correctly, compatible version | dev | pyside/pyside-setup | Status: MERGED | +2 | 0 |
465585,3 | signature: Fix a refcount bug in SetError_Argument | dev | pyside/pyside-setup | Status: MERGED | +2 | 0 |
465805,2 | errorhandler: Improve the handling of general errors | dev | pyside/pyside-setup | Status: ABANDONED | -1 | 0 |
465827,2 | signature: Fix a refcount bug in SetError_Argument | 6.4 | pyside/pyside-setup | Status: MERGED | +2 | 0 |
465864,2 | Shiboken: Improve an error message by giving more context | dev | pyside/pyside-setup | Status: MERGED | +2 | 0 |
465983,2 | Shiboken: Improve an error message by giving more context | 6.4 | pyside/pyside-setup | Status: MERGED | +2 | 0 |
466194,2 | testing: make usesqapplication work with any library | dev | pyside/pyside-setup | Status: MERGED | +2 | 0 |
466616,2 | testing: make usesqapplication work with any library | 6.4 | pyside/pyside-setup | Status: MERGED | +2 | 0 |
466635,8 | testing: modernize UsesQApplication and remove other versions | dev | pyside/pyside-setup | Status: MERGED | +2 | 0 |
467198,1 | testing: modernize UsesQApplication and remove other versions | 6.4 | pyside/pyside-setup | Status: ABANDONED | 0 | 0 |
467428,2 | Fix test qtexttospeech_test.py to run in 6.4 | dev | pyside/pyside-setup | Status: MERGED | +2 | 0 |
467462,2 | Fix test qtexttospeech_test.py to run in 6.4 | 6.4 | pyside/pyside-setup | Status: MERGED | +2 | 0 |
467539,5 | importlib: Avoid installation of metadata module | dev | pyside/pyside-setup | Status: MERGED | +2 | 0 |
467934,1 | importlib: Avoid installation of metadata module | 6.4 | pyside/pyside-setup | Status: ABANDONED | 0 | 0 |
468236,3 | libshiboken: Add cstring header on bindingmanager | dev | pyside/pyside-setup | Status: MERGED | +2 | 0 |
470750,4 | WIP: Implement Cooperative Multiple Inheritance the right way | dev | pyside/pyside-setup | Status: ABANDONED | -2 | 0 |