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用 ...
随机推荐
- R 在linux redhat 6.5的编译安装过程
下载源码包 在http://cran.r-project.org/mirrors.html,选择一个国内镜像下载需要的版本,比如:http://mirror.lzu.edu.cn/CRAN/src/b ...
- php部分,一个用递归无限分类的方法
<?php $data[]=array('id'=>1,'parentid'=>0,'name'=>'中国'); $data[]=array('id'=>2,'paren ...
- Xcode LLDB Debug教程
开胃小菜--简单的断点调试 在xcode中打开一个app,在想要break的行号上单击,即可生成一个深色的箭头标识--断点.如下图,在viewDidLoad:中设置了断点. 运行app,等待...就可 ...
- 【P1915】[usaco09 dec gold]电视游戏问题
在百度上搜到了nzx学长的题解orz 原题: 农夫约翰的奶牛们游戏成瘾!本来FJ是想要按照陶叫兽的做法拿她们去电击戒瘾的,可是后来他发现奶牛们玩游戏之后比原先产更多的奶.很明显,这是因为满足的牛会产更 ...
- Flat UI 工具包
Flat UI是一套精美的扁平风格 UI 工具包,基于 Twitter Bootstrap 实现.这套界面工具包含许多基本的和复杂的 UI 部件,例如按钮,输入框,组合按钮,复选框,单选按钮,标签,菜 ...
- 转:Android开发:使用JNI读取应用签名
博文转自http://www.tuicool.com/articles/UVjme2r,感谢博主的分享 为了防止被反编译,打算把关键代码写到so里(比如加解密),在so里加上判断APk包签名是否一致的 ...
- .gitignore的多级目录配置
在子目录下仍然可以建立.gitignore文件以用于忽略子目录的文件
- 存储过程中使用事务,sql server 事务,sql事务
一.存储过程中使用事务的简单语法 在存储过程中使用事务时非常重要的,使用数据可以保持数据的关联完整性,在Sql server存储过程中使用事务也很简单,用一个例子来说明它的语法格式: 代码 ...
- PHP+Mysql+jQuery实现地图区域数据统计-展示数据
我们要在地图上有限的区块内展示更多的信息,更好的办法是通过地图交互来实现.本文将给大家讲解通过鼠标滑动到地图指定省份区域,在弹出的提示框中显示对应省份的数据信息.适用于数据统计和地图区块展示等场景. ...
- System.Data.OleDb操作access数据库类,【bubuko.com】
access数据库在应用了System.Data.OleDb后操作会很方便,这是一个常用的数据库操作类,其中两个方法,一个是返回datatable的,一个是执行sql语句返回影响记录的(一般是inse ...