使用QT和QML开发简单的地图态势管理软件

软件需求:开发一个态势管理软件,可以显示地图信息,并在地图上叠加一些自定义UI组件,包含:汽车、无人机、以及气象等。

通过卫星通信接收汽车、无人机搭载的信息系统上报的数据,在态势软件上实时更新位置、状态(在线、离线、故障、告警等)信息。

监控人员通过态势管理软件选中UI组件之后,可以远程控制汽车、无人机等搭载的信息系统以及传感器,实现设备的远程控制。

软件运行平台要求:windows 7及以上

软件设计:软件要求不能连接互联网,因此在进行软件开发式,考虑采用QT+QML+MySQL做一个本地的桌面软件,使用C++开发后台管理程序,使用QML开发软件界面,采用MySQL数据库,编译器采用MSVC 2017,提供列表显示、地图显示、位置状态更新以及数据库存储等功能。

QML有点类似于CSS样本,没有学过的小伙伴也不用担心,找一段代码入手,学习个一两个小时,基本就可以上手了。需要注意的是如果想要在QML中使用QT定义的一些基本类,需要使用qmlRegisterType进行注册,同时使用Q_INVOKABLE对类中的函数进行标注,这样在QML中才能调用这个类的对象以及内置函数。

/******主函数中注册类*******/
qmlRegisterType<Car>("Car", 1, 0, "Car"); // 替换为你的模块名

/*********汽车类***********/
Q_INVOKABLE float getLatitude() const;        // 获取组件的纬度

软件运行后的效果图如下:

软件中采用了单图层设计,不同类型的组件存放在了不同的容器中,可以通过菜单栏选在要显示的组件类型。

地图目前还是采用网络地图,其实可以通过QGIS免费下载各种类型的免费地图瓦片到本地,实现离线加载地图。

我开发了另外一个软件,实现了多图层设计,可以将地图网片,汽车组件、无人机组件以及气象云团、雨团等分布在不同的图层上,这样会有更好的显示效果,同时使用了本地化地图瓦片,可是脱离互联网资源,离线显示地图。

有需要源代码的可以私我。

  • 10
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值