At the moment SIP only supports C-like unscoped enums and implements them as sub-classes of int. The main weaknesses of these are the lack of type safety and the injection of the member names into the enclosing scope.
These problems were fixed by the introduction of scoped enums in newer versions of C++, see...
https://www.ibm.com/developerworks/rational/ library/scoped-enums/index. html
Note that Qt doesn't currently use scoped enums but I expect that to change.
Scoped enums are much closer to the implementation of Python enums...
https://docs.python.org/3/library/enum.html#module-enum
I propose to add support for scoped enums and implement them using Python enums - specifically as sub-classes of Enum (and *not* IntEnum in order to preserve the type safety). Consequently Python v3.4 or later will be required for wrapping libraries using scoped enums.
Any comments welcome.
Phil
_______________________________________________
PyQt mailing list PyQt@riverbankcomputing.com
https://www.riverbankcomputing.com/ mailman/listinfo/pyqt