Как вы используете производный интерфейс от ActiveQT?

У меня есть то, что я считаю довольно простым интерфейсом в COM. Я хотел бы реализовать это в activeqt. Я могу заставить работать прототип ATL, но я бы предпочел использовать виджеты и сигналы qt, а не элементы управления COM.

Я могу загрузить ATL COM DLL в Python Comtipes и запустить 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] dumpcpp полезен, если вы хотите вызвать существующий COM-объект из Qt, но не помогает извлечь интерфейс для использования в activeQt.[/ edit] Это способ переопределить интерфейс без смешивания ATL и activeqt? Я задаюсь вопросом, является ли источником моей борьбы средства qt и ATL, пытающиеся сгенерировать idl...

Спасибо!

0 ответов

Другие вопросы по тегам