一.Activate控件简介(内容摘自自百度)
ActiveX控件是Microsoft的ActiveX技术的一部分。ActiveX控件是可以在应用程序和网络中计算机上重复使用的程序对象。创建它的主要技术是Microsoft的ActiveX技术,其中主要是组件对象模型(COM)。ActiveX控件可以以小程序下载装入网页,也可以用在一般的Windows和Macintosh应用程序环境中。一般说来,ActiveX 控件代替了原先的OCX,它与JAVAapplet的概念和功能差不多。ActiveX控件可以由不同的可以识别Microsoft的COM技术的语言开发,它是一个组件或自包含的软件包,它可以在同一个或分布式的计算环境中开发或使用。
二.Qt开发Activate控件
1.qtcreator是没有Activex控件项目的,所以要用来vs来开发,楼主采用的是Q5.9.0+vs2015
2.新建流程
2.1选择ActivateQt Server,然后一直下一步即可
2.2添加一些简单的功能
注意:下面那些UUID是自动生成的
#include "activatedemo.h"
#include <ActiveQt/QAxFactory>
ActivateDemo::ActivateDemo(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
connect(ui.pushButton, &QPushButton::clicked, this, &ActivateDemo::onClicked);
}
void ActivateDemo::onClicked()
{
int num1 = ui.lineEdit_1->text().toInt();
int num2 = ui.lineEdit_2->text().toInt();
int sum = num1 + num2;
ui.lineEdit_3->setText(QString::number(sum));
}
QAXFACTORY_DEFAULT(ActivateDemo,
"{C8C660E2-16E0-4BBE-900E-E418CB0B6090}",
"{1B733EC2-D14B-457E-8668-43178F263DA6}",
"{943AC113-B010-4246-8D2B-DBC43BD6A912}",
"{4DE4450D-21F0-4F67-8366-7EC0DDB757AD}",
"{E5DF792E-15D7-4637-9C00-8CA474992D21}")
2.3右键生成解决方案即可,就可以在对应的文件夹看到如下,就表示成功了
若是遇到如下图的问题,参考
Qt之开发Activex MSB3073报错解决方式
至此,开发Activate控件成功!!!