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