1、前言
学习qml也有一段时间了,一直想做一个小项目检验一下自己的学习成果。给学习qml一点小小的提示。
qml跟前端语言很像,但是代码格式风格更加符合c++类的语言风格,开始我也认同qml的写法更加像css,最后学了一段时间之后发现更加符合c++写类的风格,对象树的写法让结构更加清楚。
由于qml目前的资料过于少了,本人也是初学者,尽可能展示我写的成果,我的写法不一定对,有问题的部分欢迎提出来探讨。
所有部分的均已经撰写完成。
分为四个部分:
衔接:
第一部分:
(20条消息) qml项目(一)--------数据可视化面板(qml+echarts)_锦亦之2233的博客-CSDN博客
第二部分:
(20条消息) qml项目----------数据可视化面板(第二部分)_面板数据可视化_锦亦之2233的博客-CSDN博客
第三部分:(20条消息) qml项目---可视化面板(第三部分)--使用echarts以及qchart_echarts qml_锦亦之2233的博客-CSDN博客
第四部分:(20条消息) qml项目四----可视化面板----地图部分_锦亦之2233的博客-CSDN博客
衔接:qml项目第二部分https://blog.csdn.net/Jinyizhi2233/article/details/131128715
qml项目第三部分(19条消息) qml项目---可视化面板(第三部分)--使用echarts以及qchart_Jinyizhi2233的博客-CSDN博客
2、效果图
使用qt creator进行程序编辑,qmake对程序进行编译。
qt版本:qt 5.15.2长期支持版本
qt的编译器:MSVC 2019 64位
平台:window10
note(注意):qt的gming编译器并没有webengine模块,需要用其他的方式去读取html文件,这里博主并没有做gm编译器怎么读取html并显示。
3、怎么实现数据可视化
(碎碎念)由于现在qt对于前端主推就是qml,国内的生态不是很好,没有很多qml的相关文档学习,qt的widget虽然也在维护,但是也一直没有出新,官方希望大家都转向qml学习,由于博主资历很浅,也无法对qml做过多的评价,只能说官方文档写的很好,但是国内的官方可能沉迷技术研究,不太爱发视频讲解,每次都要科学上网到油管上去看,对于英语不好的我,真的泪奔~。其中各种教程夹杂着俄语,以及西班牙语,天知道我是怎么坚持下来的。
回到正题,怎么在qml中实现数据可视化,目前也查过相关的技术。
1、一种是官方自带的qchart,使用这个类来实现数据可视化表格,对于地图型的则需要另外一个类了。
运行速度:五颗星
好看程度:0
2、使用第三方的他人写好的c++库,目前比较有名的就是QCP,这个作者是六边形战士,只需要导入.h,.cpp文件即可生成各种图表,作者也一直在维护。
使用qml的一个库,针对qtquick1版本,后来又有其他作者增加了2版本,作者从canvas开始自己绘制图表,真可谓大师。
只需要调用相关的类,添加数据即可生成表格。
牛逼程度:五颗星
3、使用echarts,在html生成图表,再通过webengine读取html,并在qml中显示。
好看程度:五颗星
查了一些资料,echarts可通过canvas进行渲染,qt读取html并在qml中显示使用opengl,有显卡效果更好,没有显卡的默认回原硬件。(此处博主未经证实,没有出处,不知道在哪里看到的,可能会有错误)
4.关于项目
博主并没有拿这个项目进行任何商业用途,仅仅只是为了学习之用,相关代码一部分自己写,一部分来源于网络,并不存在任何盈利行为。
项目目前在持续更新,目前有没有上传到github以及码云的平台,如果有想要有源码的小伙伴,作者会放衔接。
目前b站已经上传相关的视频,QML教程 (qt quick)(持续更新中)_哔哩哔哩_bilibili