QML教程:Qt-Quick六大開源組件
我們?cè)?jīng)介紹過(guò)《用QML語(yǔ)言開發(fā)MeeGo應(yīng)用程序》。QML作為Qt新的界面編寫方式,具有強(qiáng)大的靈活性,事實(shí)上這就是Direct UI的概念,不過(guò)由于推出的時(shí)間比較短,同時(shí)本身定義上的問(wèn)題,許多原來(lái)Qt中的部件在QML中是沒有的。
對(duì)于有QML開發(fā)的需求的同學(xué)來(lái)說(shuō),每個(gè)部件都自己來(lái)寫,是相當(dāng)費(fèi)時(shí)費(fèi)力,所幸,目前已經(jīng)有一定數(shù)量的QML開源組件(componet)了。在些QML組件里,不僅提供了一系列基礎(chǔ)的部件,甚至還有非常強(qiáng)力的QML自定義元素,使用這些,將縮短項(xiàng)目的開發(fā)產(chǎn)期,為開發(fā)者帶來(lái)極大的方便。
現(xiàn)在,筆者就心中的排名來(lái)對(duì)這些QML公開組件做界面。
Qt Components項(xiàng)目
評(píng)價(jià)星級(jí):五星
地址:http://qt.gitorious.org/qt-components/
評(píng)語(yǔ):很明顯,從名字就可以看出來(lái),這是官方提供的QML組件,是探索Qt/QML組建和模型創(chuàng)造的項(xiàng)目。同時(shí),如果熟悉MeeGo開發(fā)的同學(xué)會(huì)發(fā)現(xiàn),這套組件已經(jīng)很早就被引入了MeeGo的開發(fā)中。
這套組件項(xiàng)目里一共提供MX,Symbian和MeeGo三個(gè)平臺(tái)的QML組件,其中MX是對(duì)應(yīng)桌面端的。由于過(guò)去一年里諾基亞的戰(zhàn)略使然,MeeGo的組件是最為豐富的,MX次之,Symbian最少。不過(guò)由于最近諾基亞轉(zhuǎn)向了Windows Phone 7平臺(tái),該項(xiàng)目上也暫緩對(duì)MeeGo的平臺(tái)持續(xù)更新,重點(diǎn)轉(zhuǎn)移到了MX和Symbian平臺(tái)上。
對(duì)于使用QML進(jìn)行項(xiàng)目開發(fā)的同學(xué)來(lái)說(shuō),這套組件是必不可少,甚至可以認(rèn)為,這就是以后QML官方組件的原型。
Colibri項(xiàng)目
評(píng)價(jià)星級(jí):五星
地址:https://projects.forum.nokia.com/colibri
評(píng)語(yǔ):這也是一套相當(dāng)優(yōu)秀的QML組件,更加突出的,是一套使用QML純正元素編寫,里面涉及邏輯的地方都是使用JS完成的。
這有什么好處?當(dāng)然有,這意味著使用者無(wú)須進(jìn)行編譯就可以在自己的QML項(xiàng)目中以引入module的形式來(lái)使用。
而且,這個(gè)項(xiàng)目的初始開發(fā)來(lái)源也很有意思,是來(lái)自于digia的,也就是最近把Qt的商業(yè)協(xié)議收購(gòu)的那家公司。撇開這點(diǎn)不說(shuō),這套部件里有許部件相當(dāng)漂亮,特效也很贊,用到產(chǎn)品里讓人有與眾不同的感覺。
QML canvas項(xiàng)目
評(píng)價(jià)星級(jí):四星
地址:http://qt.gitorious.org/qt-labs/QMLcanvas
評(píng)語(yǔ):這是很有創(chuàng)意的一個(gè)項(xiàng)目,使用了QDeclarativeItem進(jìn)行了自定義元素。
要知道QML里是沒有提供繪制元素,如果有人想做繪制地圖類似的項(xiàng)目,是需要繞很大的圈子來(lái)做。不過(guò),有了這套QML組件的幫助,將會(huì)輕松很多。
QML canvas就是完成繪制功能的QML組件,有了它,繪制就成了簡(jiǎn)簡(jiǎn)單單的事情。
QM Lunit項(xiàng)目
評(píng)價(jià)星級(jí):三星
地址:https://github.com/fgrehm/QMLunit
評(píng)語(yǔ):顧名思義,對(duì)QML進(jìn)行單元測(cè)試的QML組件,雖然創(chuàng)意不錯(cuò),但是很久沒有更新,能否成為一個(gè)優(yōu)秀的QML組件項(xiàng)目還是一個(gè)未知數(shù)。
QML Arsenal項(xiàng)目
評(píng)價(jià)星級(jí):三星
地址:http://gitorious.org/QMLarsenal
評(píng)語(yǔ):也是QML擴(kuò)增的組件項(xiàng)目,亮點(diǎn)在于SVG的支持以及特殊圖形元素,不過(guò)說(shuō)實(shí)在,東西比較少,也就湊合用了。
Native Quick Widgets
評(píng)價(jià)星級(jí):二星
地址:http://qt-apps.org/content/show.php/Native+Quick+Widgets?content=137145
評(píng)語(yǔ):大同小異的QML組件,不同在于使用本地的Qt 擴(kuò)展少去,但似乎沒什么亮點(diǎn),部件乏善可陳,也是湊合用的。
這些就是目前筆者所知道的,并且值得推薦的QML的開源組件,如果您獲悉有更好的,希望也能分享給大家。
【編輯推薦】