Qt编程之mapx组件编程
今天利用组件打包程序写了一些小例子,给大家贴出来,顺便提高一下记忆。
上一篇介绍了直接使用控件和使用控件打包程序对控件进行编程的方法。个人感觉后者编程更方便。不说废话了:
头文件中所需要的类型指针对象,顾名思义可以看到指针对象所述的类
MapSpace::Map *map;
MapSpace::CMapXPoint *pCMapXPoint,*pCMapXPoint1;MapSpace::CMapXFeatureFactory *pCMapFeaFactory;MapSpace::CMapXFeature *pCMapXFeature;MapSpace::CMapXStyle *pCMapStyle;MapSpace::CMapXLayers *pCMapLayers;MapSpace::CMapXLayer *pCMapLayer;QFont Font;MapSpace::CMapXFeature *pCMapLine;MapSpace::CMapXPoints *pCMapPoints;MapSpace::CMapXParts *pCMapParts;MapSpace::CMapXFeature *pCMapArc;下面是.cpp文件中的功能实现:map = new MapSpace::Map("",this);//建立一个地图对象map->move(QPoint(10,10));//设置地图左上角的坐标map->resize(QSize(size().width()-20,size().height()-20));//设置地图的宽度和高度map->SetCurrentTool(MapSpace::ToolConstants::miPanTool);//设置鼠标手型map->setProperty("MousewheelSupport",2);//设置鼠标支持滚轮缩放pCMapLayers = map->Layers();//建立一张图层这里说一下:pCMapLayer = pCMapLayers->CreateLayer("test");每个地图都具有一个图层的集合。Layer 集合由 Layer 对象构成。Layer 集合具有用于从集合添加或移除
Layer 对象的方法和属性。计算机地图被组织成多个图层。将图层视作在顶部彼此堆叠的透明层。每个图层包含整个地图的不同方
面。每一地图图层都包含不同的地图对象,例如区域、点、线条和文本。
pCMapFeaFactory = map->FeatureFactory();
此对象允许您创建新的地图图元,或通过对现有图元执行操作(例如缓冲)来创建图元以上这些都是最基本的需要,下面就是根据功能的不同看具体编码了pCMapXFeature = pCMapFeaFactory->CreateSymbol();//创建一个符号pCMapXPoint = pCMapXFeature->Point();//创建一个点pCMapXPoint->Set(120.06272,29.35522);//设置点的坐标pCMapStyle = pCMapXFeature->Style();//创建一个样式pCMapStyle->SetSymbolCharacter(35);//设置样式的粗细pCMapStyle->SetSymbolFontColor(QColor(100,200,190));//设置样式的颜色Font = pCMapStyle->SymbolFont();//建立一个样式字体Font.setBold(true);//将样式字体加粗pCMapLayer->AddFeature(pCMapXFeature->asVariant().value<IDispatch*>());//将符号中所有元素加入到图层中map->ZoomTo(3,120.06272, 29.35522);//将地图中心调整到视图内
以上这些代码是可以运行的,运行效果是一个带有颜色的圆点。注意IDispath*类型的转换。
Qt编程之mapx组件编程的更多相关文章
- Qt 环境下MAPX组件的编程
使用mapx打包文件可以方便的迅速开发,今天介绍一种不使用打包文件,直接使用mapx组件的编程方法. 就像之前介绍flash控件编程的方法,首先建立一个qt demo.基于那个的窗口都可以. 本den ...
- qt之mapx组件编程c2248和c2512错误
mapx组件利用qt工具dumpcpp到处头文件和.cpp文件后将其加入到新建的qt项目中即可. 不过本人遇到问题知道今天偶然的解决了.记下来,以免忘记. demo的项目结构如下: 然后在.pro文件 ...
- qt 环境下mapx组件的鼠标跟踪
经过两天的研究mapx组件人坐标转换还是没有转换成功,因为不管怎么变,定点转换的经纬度坐标始终与期望的值有较大的偏差.最后还是想老大请教了一下,划了半天功夫就研究出来了(不愧是老大,仰慕之情犹如滔滔江 ...
- qt 环境下mapx组件打包后编译产生c2248和c2512错误
C:\Qt\Qt5.6.0\5.6\msvc2013\include\QtCore\qmetatype.h:760: error: C2248: “MapSpace::IRowCursor::IRow ...
- Qt编程之UI与控件布局
当然,大家都知道UI界面可以用Qt Designer在约束环境下设置编辑.ui文件,再将.ui文件转换成对应的ui_XXX.h文件,这头文件中的内容是:用C++语言实现真正的界面布局.uic -o & ...
- Qt编程之Qt样例表(QSS)
For a long time, Qt has allowed you to decorate your GUIs with CSS’ish style sheets. Inspired by the ...
- Qt编程之qrc文件的链接
在Qt里面,.qrc文件是一种类似XML结构的文件,用结构化数据描述应用程序所需要的资源位置,例如图片,应用程序的图标文件等.它最终是与.ui文件类似都被通过Qt提供的命令行工具生成对应的qrc_XX ...
- Qt编程之d指针与q指针
我们在Qt中可以看到两个宏Q_D和Q_Q这两个红分别是取得d指针和q指针的,d指针指向封装的私有类,q指针指向公共的类.(我的理解类似于回调,回指的意思). 为什么Qt要这样实现呢?下面几个链接中的文 ...
- Qt编程之QtScript
需求是这样的: 需要给一个硬件接口测试些东西,用js来调用,js做成不同的独立模块分别测试不同的硬件接口,包括DMD内存,PCIE带宽等等.需要用一个exe来载入这些js文件分别调用测试模块.exe用 ...
随机推荐
- vs2010配置boost编程环境(照抄并简化)
第一步:下载boost,我下载的方法是从http://www.boost.org/上找最新的下载.名字叫boost_1_50_0.7z. 第二步:在D盘(我C盘空间不大,准备出至少10G的空间吧)创建 ...
- 16个常用IO流
在包java.io.*:下 有以下16个常用的io流类: (Stream结尾的是字节流,是万能流,通常的视频,声音,图片等2进制文件, Reader/Writer结尾的是字符流,字符流适合读取纯文本文 ...
- 一种让超大banner图片不拉伸、全屏宽、居中显示的方法
现在很多网站的Banner图片都是全屏宽度的,这样的网站看起来显得很大气.这种Banner一般都是做一张很大的图片,然后在不同分辨率下都是显示图片的中间部分.实现方法如下: <html> ...
- 微信上传文章素材—ASP.NET MVC从View层传数据到Controller层
View层: $('#btnNews').click(function() { if (!confirm('确定要提交吗?')) { return; } var frontViewData = []; ...
- Json格式应用
Json格式在用于数据存储方面比xml有着空间上的优势,Json格式又主要分为两种格式:名称/值 对 和数组. 在我的业务环境中需要先把一种空间比较小的格式. 测试如下: 取数据库中的一张表然后生成两 ...
- 6个强大的AngularJS扩展应用
本文链接:http://www.codeceo.com/article/6-angularjs-extension.html本文作者:码农网 – 小峰 AngularJS现在非常热门,是Google推 ...
- HTML input="file" 浏览时只显示指定文件类型 xls、xlsx、csv
html input="file" 浏览时只显示指定文件类型 xls.xlsx.csv <input id="fileSelect" type=" ...
- arduino 串口实时绘图(以mpu9250为例)
兴趣之余,利用晚上的时间,做一些个人兴趣方面的开发. 之前没接触过 arduino, 无意之中买了个开发板做一些小开发, 这里利用python 读取 mpu9250 数据实时绘图. 下位机代码 C++ ...
- 深入详解DataTable
在学习DataTable知识之前,我们有必要了解下ADO.NET.以下摘自MSDN: ADO.NET 对 Microsoft SQL Server 和 XML 等数据源以及通过 OLE DB 和 XM ...
- 【学】React的学习之旅4-添加事件(onChange)
实现联动绑定,在文本框中输入内容的同时,后面的span里内容跟着一起变化: onChange(),一旦触发一次变动,就执行某个函数: 既然已经在getInitialState属性里申明了一个变量inp ...