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用 ...
随机推荐
- sublime 中文乱码
一.安装Package Control 使用Sublime Text2首先就要安装Package Control,这样就能使用丰富的插件包了 (1)访问Package Control站点按照提示复 ...
- boolalpha的用法和作用
#include <iostream> using namespace std; int main() { bool b=true; cout << "b=" ...
- Exynos 4412
Exynos 4412采用了三星最新的32nm HKMG工艺,是三星的第一款四核处理器 1.启动 有时间再接着写……
- UVA 101
题意:四种操作把a和b所在的数字移动. lrj的思想很好.首先找到共同点.然后不必写四种操作.其次理解vector的方便. #include<iostream> #include<c ...
- C/C++中const的用法 分类: C/C++ 2015-07-05 00:43 85人阅读 评论(0) 收藏
const是C语言的关键字,经C++进行扩充,变得功能强大,用法复杂.const用于定义一个常变量(只读变量),当const与指针,引用,函数等结合起来使用时,情况会变得复杂的多.下面将从五个方面总结 ...
- kaungbin_DP S (POJ 3666) Making the Grade
Description A straight dirt road connects two fields on FJ's farm, but it changes elevation more tha ...
- “System.Data.SqlClient.SqlConnection”的类型初始值设定项引发异常---解决方案
"System.Data.SqlClient.SqlConnection"的类型初始值设定项引发异常 问题出在了 .net 的C:\WINDOWS\Microsoft.NET\Fr ...
- form表单修改label样式
<?php $form = ActiveForm::begin([ 'options'=>['enctype'=>'multipart/form-data','class' => ...
- Redis -- 01 入门
1. Redis是什么 与memcached 和 couchbase类似,redis是非常快速的基于内存的键值数据库,使用标准c编写,是使用最广泛的缓存中间件.利用Redis提供的五种基本数据类型(S ...
- Add Digits, Maximum Depth of BinaryTree, Search for a Range, Single Number,Find the Difference
最近做的题记录下. 258. Add Digits Given a non-negative integer num, repeatedly add all its digits until the ...