ConvertToSubClassCode for IDispatch

Weitian Leung Just_Fancy at
Fri May 19 13:15:36 BST 2023

     I have a IDispatch related sdk header, say it contains two IDispatch interfaces:
interface _Foo : public IDispatch {…};
typedef interface Foo Foo; // No definition at all

`Foo` can be QueryInterface from `_Foo` in C++ (or just do a cast), and for this case I asume they are just the same class.

As the sdk internal only uses the Foo interface, such as:
interface Bar : public IDispatch
      bool open(…, Foo** out);
      void dosomething(Foo* f);

So I use ConvertToSubClassCode to resolve the buggy sdk:
    class Foo /Abstract,NoDefaultCtors/
        sipType = sipType__Foo;

It works for `open`, but not for `dosomething` due to ConvertToSubClassCode make `open` returns a `_Foo`, they have no inherits from python’s view.

I can’t change the C++ sdk as it out of my control.
So is there any chance to make SIP works for such case?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the PyQt mailing list