Re: [SIP] TypeError: unable to convert a C++ Class::ScopedEnum instance to a Python object
Denis Rouzaud <[email protected]>
| Newsgroups | gmane.comp.python.pyqt-pykde |
|---|---|
| Message-ID | <CAMtsY+ZqUzCk3Qu+tzzyRag2DgqepM+8gHJowRRShV1-BVLWgg@mail.gmail.com> |
Hi Phil, Thanks for the reply. I don't see anything particular in that file, except a difference: my enum is not declared in the same file/class that the one emitting the signal. Is there some kind of include I could add, or some method code in the signal? Otherwise, I could not find any ScopesStripped annotation. Is it worth a try? Do you have any example? Cheers, Denis Le sam. 5 oct. 2019 à 10:44, Phil Thompson <[email protected]> a écrit : > On 02/10/2019 07:48, Denis Rouzaud wrote: > > Hi list, > > > > I have a scoped enum in a class, a signal emitting this enum. > > > > So something like > > > > MyClass > > { > > public: > > enum class MyEnum > > { > > ..... > > }; > > > > signals: > > void mySignal( MyEnum enum ); > > } > > > > > > If in Python, I do: > > > > def slot( enum ): > > print( enum ); > > myClassInstance.mySignal.connect(slot) > > > > I get this error: > > TypeError: unable to convert a C++ MyClass::MyEnum instance to a Python > > object > > > > > > Any idea how to solve this? > > The following seems to work fine... > > from PyQt5.QtNetworkAuth import QOAuth1 > > def slot(e): > print(e) > > auth = QOAuth1() > auth.statusChanged.connect(slot) > > ...so I'd suggest looking at qabstractoauth.sip (and maybe the > ScopesStripped annotation). > > Phil > _______________________________________________ PyQt mailing list [email protected] https://www.riverbankcomputing.com/mailman/listinfo/pyqt