你如何使用activeqt的派生接口?

时间:2011-08-14 13:10:55

标签: c++ qt com activeqt

我认为COM中的界面相当简单。我想在activeqt中实现它。我能够使ATL原型工作,但我宁愿使用qt小部件和信号而不是COM控件。

我可以在python的comtypes中加载ATL COM dll并运行help(ATLDll),并且接口的相关扩展名为

Methods inherited from comtypes.gen.<guid>.ITest:
   Init(...)
      method Init

我不确定如何在activeqt中获得同样的东西。 ATL正在使用此代码来定义接口(我认为,这是在自动生成的_i.h文件中):

MIDL_INTERFACE(<guid>)
ITest : public IDispatch
{
public:
    virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Init( 
        /* [in] */ IDispatch *obj) = 0;

};

然后类定义继承自

public IDispatchImpl<ITest>

我尝试过混合activeqt和ATL,但到目前为止我还没有成功。我应该使用dumpcpp吗? [edit]如果要从Qt调用现有COM对象, dumpcpp非常有用,但无法解压缩在activeQt中使用的接口。 [/ edit]这是否可以覆盖界面没有混合ATL和activeqt?我想知道qt工具和ATL是否都试图生成idl是我挣扎的根源......

谢谢!

0 个答案:

没有答案