使用mapx打包文件可以方便的迅速开发,今天介绍一种不使用打包文件,直接使用mapx组件的编程方法。

就像之前介绍flash控件编程的方法,首先建立一个qt demo.基于那个的窗口都可以。

本deno主要是画一个符号:

QAxWidget *mapx = new QAxWidget(this ,0);//创建一个mapx对象
mapx->move(30,30); //设置距离主窗口左上角的位置
mapx->resize(300, 300); //设置mapx组件的大小

mapx->setControl(QString::fromUtf8("{87c293c8-44b3-49a4-8ee8-ea6dfc572ded}"));

//创建层"aaa"
QAxObject *pLayers = mapx->querySubObject("Layers");
QAxObject *pLayer = pLayers->querySubObject("CreateLayer(QString)", "aaa");

QAxObject *pFeatureFactory = mapx->querySubObject("FeatureFactory");
// 画一个符号
QAxObject *pSymbol = pFeatureFactory->querySubObject("CreateSymbol");
QAxObject *pPoint = pSymbol->querySubObject("Point");
pPoint->dynamicCall("Set(double, double)", 120.06872,29.35692);
pLayer->dynamicCall("AddFeature(QVariant)", pSymbol->asVariant());

mapx->dynamicCall("ZoomTo(double, double, double)", 3, 120.06872,29.35692);//这里的经纬度坐标要和上边符号设置的经纬度坐标一致,否则代码运行出来可能看不到符号

注意:字符串都是mapx累的一些方法或者属性

照猫画虎其它任何组件应该都会写代码了

Qt 环境下MAPX组件的编程的更多相关文章

  1. qt 环境下mapx组件的鼠标跟踪

    经过两天的研究mapx组件人坐标转换还是没有转换成功,因为不管怎么变,定点转换的经纬度坐标始终与期望的值有较大的偏差.最后还是想老大请教了一下,划了半天功夫就研究出来了(不愧是老大,仰慕之情犹如滔滔江 ...

  2. qt 环境下mapx组件打包后编译产生c2248和c2512错误

    C:\Qt\Qt5.6.0\5.6\msvc2013\include\QtCore\qmetatype.h:760: error: C2248: “MapSpace::IRowCursor::IRow ...

  3. qt环境下Mapx组建的编程---------regoin

    #include "widget.h" #include "ui_widget.h" #include <QPushButton> #include ...

  4. Qt 环境下的mapx控件-------2

    今天花了一天的时间去查找mapx相关的资料,但是到最后想要的东西还是一无所获,不过还是学到了很多东西.下面以大家分享一下: mapx软件的安装:下载后安装mapx软件,成功后会在安装路径下存在acti ...

  5. Qt编程之mapx组件编程

    今天利用组件打包程序写了一些小例子,给大家贴出来,顺便提高一下记忆. 上一篇介绍了直接使用控件和使用控件打包程序对控件进行编程的方法.个人感觉后者编程更方便.不说废话了: 头文件中所需要的类型指针对象 ...

  6. Qt 环境下的activex控件编程-------1

    本人第一次接触这种activeX控件的东西,参考了网上很多的教程,终于耗时三个多小时初步理解并编写了一个小demo,现在分享给大家,希望大家少走弯路.步骤如下: 1>像平常创建项目一样创建一个d ...

  7. QT环境下实现UI界面的“拼图游戏”

    main.cpp #include "mainwindow.h" #include <QApplication> int main(int argc, char *ar ...

  8. .NET环境下的DPAPI加密编程

    Windows的本地加密保护机制提供了简单的调用接口,密钥的生成.保护等事项一概由系统来处理,其编程接口称为DPAPI.这一加密保护机制的边界是用户登录帐户或者本地计算机系统,使用操作系统设定的加密处 ...

  9. QT 环境下开发socketCan接口程序

    使用头文件 #include <QMainWindow>#include "QTimer"#include "QTime"#include &quo ...

随机推荐

  1. 浅谈P NP NPC

    P问题:多项式时间内可以找到解的问题,这个解可以在多项式时间内验证. NP问题:有多项式时间内可以验证的解的问题,而并不能保证可以在多项式时间内找到这个解. 比如汉密尔顿回路,如果找到,在多项式时间内 ...

  2. 关于Cookie的 工具类

    import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.net.URLEncoder; ...

  3. Python 十进制转二进制代码实现

    def my_bin(num): la = [] if num < 0: return '-' + my_bin(abs(num)) while True: num, remainder = d ...

  4. eclipse android sdk content loader一直显示0%的问题解决

    今天上班启动eclipse,发现eclipse 一直卡在android sdk content loader的地方,一直显示为0%.百度后发现很多都是一下解决方法:  关闭Eclipse,删掉Ecli ...

  5. JS关于时间的计算

    用javascript返回两个时间差,精确到秒:     Date.diff = function(a,b){        if(a instanceof Date && b.ins ...

  6. u-boot-2010.09移植(A)

    第一阶段 1.开发环境 系统:centOS6.5           linux版本:2.6.32         交叉编译器:buildroot-2012.08 以上工具已经准备好,具体安装步骤不再 ...

  7. 使用RedisTemplate进行Redis存取的工具类设计

    通常在访问量大数据更新频率不高的系统中会使用第三方的缓存组件来降低数据库服务的负载,鉴于模块独立分工独立的考虑,针对缓存组件操作的工作全部应该统一接口对其他业务提供服务,这样业务操作只需要关注业务实现 ...

  8. PHP eof的使用

    PHP eof的使用 也就是heredoc技术,来部分实现界面与代码的分离 <?php $name = '张三'; print <<<EOT <html> < ...

  9. Microsoft Visual Studio 2012注册密钥

    Microsoft Visual Studio Ultimate 2012 旗舰版 有效注册密钥:YKCW6-BPFPF-BT8C9-7DCTH-QXGWCMicrosoft Visual Studi ...

  10. visual studio 2013快捷键与2012不同

    升级了Visual Studio2013后发现有些快捷键不能使用,于是自己尝试设置找回,还真给发现了: 依次选择(工具-->选项-->环境-->键盘)把映射方案改成Visual C# ...