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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.