[PyQt] [SIP] TypeError: unable to convert a C++ Class::ScopedEnum instance to a Python object

Denis Rouzaud denis.rouzaud at gmail.com
Sun Oct 6 20:51:11 BST 2019


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 <phil at riverbankcomputing.com> 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20191006/9eac2ff7/attachment.html>


More information about the PyQt mailing list