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
             
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如有问题,欢迎交流
  • 相关阅读:
    php的rabbitmq扩展(未测试)
    rabbitmq安装
    windows操作系统安装jdk以及配置环境变量
    chrome设置user-agent
    pycharm中快捷键ctrl+c,ctrl+v,ctrl+f失效问题解决
    chrome设置user agent
    Pycharm鼠标滚动控制字体大小
    mouse事件实现可拖拽的div
    DOM事件委托
    !heap 手动查询内存泄漏
  • 原文地址:https://www.cnblogs.com/first-semon/p/5868360.html
Copyright © 2011-2022 走看看