现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

Qt-Quick六大开源组件

2015-01-08 20:51 工业·编程 ⁄ 共 1255字 ⁄ 字号 评论 1 条

QML作为Qt新的界面编写方式,具有强大的灵活性,事实上这就是Direct UI的概念,不过由于推出的时间比较短,同时本身定义上的问题,许多原来Qt中的部件在QML中是没有的。

对于有QML开发的需求的同学来说,每个部件都自己来写,是相当费时费力,所幸,目前已经有一定数量的QML开源组件(componet)了。在些QML组件里,不仅提供了一系列基础的部件,甚至还有非常强力的QML自定义元素,使用这些,将缩短项目的开发产期,为开发者带来极大的方便。

现在,笔者就心中的排名来对这些QML公开组件做界面。

Qt Components项目

评价星级:五星

评语:很明显,从名字就可以看出来,这是官方提供的QML组件,是探索Qt/QML组建和模型创造的项目。同时,如果熟悉MeeGo开发的同学会发现,这套组件已经很早就被引入了MeeGo的开发中。

这套组件项目里一共提供MX,Symbian和MeeGo三个平台的QML组件,其中MX是对应桌面端的。由于过去一年里诺基亚的战略使然,MeeGo的组件是最为丰富的,MX次之,Symbian最少。不过由于最近诺基亚转向了Windows Phone 7平台,该项目上也暂缓对MeeGo的平台持续更新,重点转移到了MX和Symbian平台上。

对于使用QML进行项目开发的同学来说,这套组件是必不可少,甚至可以认为,这就是以后QML官方组件的原型。

Colibri项目

评价星级:五星

评语:这也是一套相当优秀的QML组件,更加突出的,是一套使用QML纯正元素编写,里面涉及逻辑的地方都是使用JS完成的。

这有什么好处?当然有,这意味着使用者无须进行编译就可以在自己的QML项目中以引入module的形式来使用。

而且,这个项目的初始开发来源也很有意思,是来自于digia的,也就是最近把Qt的商业协议收购的那家公司。撇开这点不说,这套部件里有许部件相当漂亮,特效也很赞,用到产品里让人有与众不同的感觉。

QML canvas项目

评价星级:四星

评语:这是很有创意的一个项目,使用了QDeclarativeItem进行了自定义元素。

要知道QML里是没有提供绘制元素,如果有人想做绘制地图类似的项目,是需要绕很大的圈子来做。不过,有了这套QML组件的帮助,将会轻松很多。

QML canvas就是完成绘制功能的QML组件,有了它,绘制就成了简简单单的事情。

QM Lunit项目

评价星级:三星

评语:顾名思义,对QML进行单元测试的QML组件,虽然创意不错,但是很久没有更新,能否成为一个优秀的QML组件项目还是一个未知数。

QML Arsenal项目

评价星级:三星

评语:也是QML扩增的组件项目,亮点在于SVG的支持以及特殊图形元素,不过说实在,东西比较少,也就凑合用了。

Native Quick Widgets

评价星级:二星

评语:大同小异的QML组件,不同在于使用本地的Qt 扩展少去,但似乎没什么亮点,部件乏善可陈,也是凑合用的。

这些就是目前笔者所知道的,并且值得推荐的QML的开源组件,如果您获悉有更好的,希望也能分享给大家。

目前有 1 条留言    访客:1 条, 博主:0 条

  1. 爱求索 2015年03月28日 9:18 下午  @回复  Δ1楼 回复

    QML开发的界面其实是采用的QGraphicsView那套架构,用QML开发界面的好处就在于开发周期短(前提是你熟悉css),可移植性强(因为你可以将其做成QML插件,甚至放到一个文件里面作为脚本便于其他程序加载,但前提时你不需要过多地与其他非QML模块进行通信),还有就是QML的界面比较有质感。。
    QWidget的优点就是与其他非GUI模块交互很方便。不需要用到Declarative模块里面的类。

给我留言

留言无头像?