Qt下的mapx开发

最近在鼓捣mapx,想把Qt和mapx合成一下。不过Qt下地COM组件开发一向比较麻烦,不像vc那样能够直接调用相关函数、属性,使用很是麻烦。最近上网查了下别人的方法,发现Qt官方提供了dumpcpp工具,可以通过生成.h和.cpp文件,直接调用使用相关的属性和函数,比较方便。现在把相关步骤记录如下:

1.使用dumpcpp -n 对象名称 {CSID}, CSID可以通过com对象查询工具得到控件的ID,这样就可以生成控件的CPP文件和头文件

2.将CPP文件和头文件加入Qt工程

3.通过命名空间(可以在头文件看到)访问内部的类,我现在只是用到其中的Map类, MapXLib::Map  *mapX  , MapXLib就是命名空间

4.将Map对象加入QWidget,就可以运行显示了,显示的是一幅美国地图。但是我在调试时,老是出现调试错误,错误主要在Map::DataSets()函数中有一条语句qRegisterMetaType,我把他注释掉了,好想没什么影响,也不管他了,呵呵;

5.这样我们就可以直接调用mapx所有的函数和属性了,很方便呵呵

你可能感兴趣的:(Qt下的mapx开发)