zoukankan      html  css  js  c++  java
  • Qt 环境下MAPX组件的编程

    使用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累的一些方法或者属性

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

    作者:first_semon
             
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如有问题,欢迎交流
  • 相关阅读:
    luogu题解 P2184 【贪婪大陆】
    luogu题解 P3763 【[TJOI2017]DNA】
    实战技巧--对拍
    题解 P3620 【[APIO/CTSC 2007]数据备份】
    题解 UVA1316 【Supermarket】
    学习笔记-Rabin-Karp哈希
    题解 POJ1964/UVA1330/SP277 【City Game】
    题解 POJ 2559-SP1805 【HISTOGRA
    题解 P2859 【[USACO06FEB]摊位预订Stall Reservations】
    Linux操作系统(一)
  • 原文地址:https://www.cnblogs.com/first-semon/p/5868360.html
Copyright © 2011-2022 走看看