Как вы используете производный интерфейс от 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...
Спасибо!