解决方案:基于QtLocation的二次开发(一)"/>
Qt轻量级地图解决方案:基于QtLocation的二次开发(一)
写在前面
Qt从C++的图形界面库这种小角色,已经逐渐发展为类似于.NET这种平台化的类库了,近年来又推出了QQuick框架,推陈出新得很快,加之本身的跨平台特性,似乎成了C++做图形应用程序的首选。于是,我也赶潮流速成了一下,主要是搞一个电子地图的解决方案。
Qt本身是面向对象的,其核心是元对象系统、信号槽机制,再加上各种宏,用起来和C++差别很大,就像一个还带着C++语法的半成品语言一样;这就类似于Java和CSharp要先翻译成中间语言一样,Qt编译时会先生成moc_为前缀的过程文件,这些就是元对象编译器编译过的已经与Qt的宏和扩展语法无关的纯C++对象。不过新推出的QQuick解决了这一切,我的意思是Qt真的推出了一门新语言——QML,是JavaScript的超集,用于代替原来的QWidgets方案。
类比一下,如果Qt对等于.NET,那么QWidgets就好比WinForm,QQuick就好比WPF,QML就好比XAML,带Qt语法扩展的C++就好比CSharp,纯净的C++就好比CIL。
但不论是QWidgets还是QQuick,都是构建在元对象系统和信号槽机制之上的。Qt的基类是QObject,对象与对象之间的关系都是父子或兄弟姐妹,QObject组织起来就是一个对象树,很适合构建图形界面。因为,我们所熟知的文档对象模型(DOM)不就是一个对象树嘛!所以,殊途同归的地方
更多推荐
Qt轻量级地图解决方案:基于QtLocation的二次开发(一)
发布评论