從QT5開始,我們就可以使用QT Quick來進行全新的編程了。同時也因為是全新的編程平臺,目前的學習方案仍然主要來自幫助文檔和QT提供的案例,相關開發的教程依然不多。這篇也僅僅只是向讀者作一個簡單的介紹,後面可能會一邊學習,一邊做成進一步的文檔,供學習者進一步參考。當然QT本身是一個龐大的編程系統,要想全面地去描述它,幾乎不太可能,只能從簡單的入手,在深入的學習和應用中去發現它強大的功能。因為當前項目的開發需要QT5的支持,因此,藉助這個機會,我們來一步步的學習與使用它。
QT Quick採用QML腳本混合C++語言,QML的出現使得QT在界面上的開發更為方便,它的目的或許是將前端開發與後端開發區分開來,用QML能非常方便的實現炫酷的界面開發,而C++能實現複雜的後端應用開發。從這個角度去看,可以理解為JS與JAVA。QT Quick中除了我們常用的標籤、進度條、按鈕等控制項,它還提供了很多實用的漂亮的其它控制項,這些控制項都在QtQuick.Controls庫中。這些控制項會使得Qt很容易就開發出基於觸控螢幕的類似Android平臺開發出的手機與平板應用,而且Qt現在支持的平臺從windows到mac os,以及Linux,甚至Android,當然它最多的使用仍在嵌入式Linux上.
在使用QT Quick時,首先要確認晶片支持硬體圖形加速OpenGL。目前我不太清楚,在沒有OPENGL支持下如何去使用QT Quick,因此建議大家在選用QT進行項目開發進,首選有OPENGL的晶片。
QT的實力究竟如何,我們看一下這些程序:
WPS、YY、Skype、豆瓣電臺、蝦米音樂、千牛、暴雪戰網客戶端、VirtualBox、Opera、Google地圖、Adobe Photoshop Album。這只是我們熟悉的軟體,更多的可以去度娘了解。
QT經常被當作了一個GUI庫來開發圖形界面應用程式,其實很多的應用功能例如多線程、資料庫、圖像處理、音視頻處理、網絡通信、文件操作等都已經內置,真正意義上,QT更是應用程式開發的一站式解決方案,除了與計算機底層結合特別緊密的驅動開發外,只要是作業系統有的函數庫,QT都能直接編程使用。Linux桌面環境KDE的大獲成功,使QT成為Linux環竟下開發C++ GUI程序的事實標準。
而作為嵌入式作業系統的主力軍Linux,QT當然也就成為了相關行業開發的核心平臺。了解和掌握QT,是Linux嵌入式開發的一項必須能力。要知道,對於嵌入式Linux的開發,更多的需要集中於其應用層面的設計,對於驅動、內核不是說不重要,但Linux平臺嵌入式的多樣性、富豐性以及創造性,更多地體現在應用層級的開發與設計,畢竟我們不是專業級的晶片級和作業系統級的開發,有廠方的支持以及基礎應用知識,驅動層與內核還算好掌握,而Linux應用程式和QT的熟練使用會讓我們的產品更美觀和實用,更有競爭力,這才是我們產品級需要關注的。
作為引導篇,到這裡就結束了。後面會直接從QT開發入手,相關的QT在Linux上的移植可能會放到最後來介紹,這是因為項目緊張,我直接採用了已經移植好QT的Linux,當然,中間也可能穿插介紹這個項目的硬體平臺STM32MP157,兩者可能會同步進行,接下來見。