• 2484阅读
  • 1回复

Qt 应用程序中使用activex,用dumpcpp 导出了.h和.cpp [复制链接]

上一主题 下一主题
离线zxqdlenovo
 

只看楼主 倒序阅读 楼主  发表于: 2018-06-02
— 本帖被 toby520 从 Qt代码秀 移动到本区(2018-06-02) —
在使用导出的.h和.cpp 时候,因为导出类不是ui类是QAxObect类,要怎么样将这个导出类加入到widget中。
这个方法能正常初始化com组件,但是不知道怎么 将实例化的类oixctrl 对象放到一个界面显示oix = new OUTSIDEXLib::oixctrl();
不能用layout 布局来添加,因为oixctrl 类不是一个UI的类
class OUTSIDEXLIB_EXPORT oixctrl : public QAxObject{public:    oixctrl(const QString &licenseKey = QString(), QAxObject *parent = 0)    : QAxObject(parent)    {        if (licenseKey.isEmpty())            setControl(QStringLiteral("{4f496ab2-4708-4132-af4d-b73b5a39ca70}"));        else            setControl(QStringLiteral("{4f496ab2-4708-4132-af4d-b73b5a39ca70}:" + licenseKey));    }
    oixctrl(Ioixctrl *iface)    : QAxObject()    {        initializeFrom(iface);        delete iface;    }。。。。。。。

如果使用下面这种方法,可以正确调用并显示ui->axWidget->setControl(QString::fromUtf8("{4F496AB2-4708-4132-AF4D-B73B5A39CA70}"));ui->axWidget->show();
QList<QVariant> commandList;    commandList<<true<<' '<<0<<0<<false<<' '<<false<<0;    ui->axWidget->dynamicCall("Clear()");    QString qCaption;    bool result = ui->axWidget->dynamicCall("ViewFile(BOOL bDialog, VARIANT FileSpec, SHORT iSpecType, SHORT iViewAs, BOOL bUseDisplayName, BSTR szDisplayName, BOOL bDeleteOnClose, Ioixredirect *pIoRedir)"                              , commandList ).toBool();
离线714409384

只看该作者 1楼 发表于: 2019-03-05
你好 请问楼主现在解决这个问题了吗?
我也使用不来这个.h 和.cpp
快速回复
限100 字节
 
上一个 下一个