關于LINUX的Qt開發,你了解多少?它和ARM的GUI開發差別有多大?如果你還一頭霧水,如果你想步入Qt開發的大門,來,這篇文章將為你打開Qt新世界大門。
1你了解Qt嗎?
Qt是一種基于C++的跨平臺圖形用戶界面應用程序開發框架。如何跨平臺?上到服務器上位機,下到嵌入式GUI,上天入地無所不能。Qt最早是由1991年由Qt Company開發,但是到2008年,Qt Company科技被諾基亞公司收購,是的,就是擁有著我們很多情懷的諾基亞。但在2012年,Qt又被Digia收購。等到了2014年,跨平臺集成開發環境Qt Creator 3.1.0正式發布出來,至此,全面支持iOS、Android、WP,QT的時代開始逐步展開。
而對于嵌入式開發的我們所使用的Qt,是 Qt 的 Embedded Linux 分支平臺,在原始 Qt 的基礎上,做了許多出色的調整以適合嵌入式環境。刪除掉了一些與嵌入式無關的Lib庫,使其相對來說更加節省嵌入式平臺的內存空間。
2Qt如何開發呢?
下面小編針對于ZLG集團的A7核心板M6G2C系列,Qt嵌入式開發,講解一下實操的基礎步驟。
開發要用到的東西:Qt源代碼+交叉編譯器+一個靈活有創造性的大腦。
編譯步驟,如下圖所示:
使用交叉編譯器編譯好的Qt庫要在LINUX虛擬機和嵌入式開發板上各一份,有了這個庫,我們就可以在上面盡情的編寫Qt程序了?。ㄈ绻枰|摸功能,記得要移植一個開源程序tslib,它相當于底層驅動和上層應用的皇家接口,有效的處理防抖誤操作等觸摸問題,有機會下次介紹)。
Qt程序可以自己直接編寫,出口成章。也可以依托于一個神器!這個神器的名字就是——集成開發環境 Qt Creator,如下圖。
Qt Creator 是一個強大的跨平臺 IDE,集編輯、 編譯、 運行、 調試功能于一體。它不僅有簡潔方便的開發界面,同時支持圖形化編程。相當于有了它,即使你不會寫程序,也可以通過控件的拖拽排布,設計出一個自己喜歡的圖形界面。
3如何編譯呢?
程序搞定了,那我們如何編譯呢?
有多種方式:
第一,直接使用Qt qmake工具編譯;
第二,使用Qt Creator軟件直接編譯;
第三,市場上的一些第三方編譯工具。
編譯過程,話不多說,直接看下圖,清晰明了:
4重要知識點
當然,關于Qt開發,還有很多重要的知識點,你必須要知道!這里我主要講兩個。
1布局管理器
如果你寫過基于ARM開發的eMWIN,你一定知道我安放控件時,只需要創建一個控件,把他的顏色、形狀、大小、位置全都使用參數配置好就萬事大吉了。但是Qt不是這么玩的。
它有三大法器,讓它的控件布局不會因為平臺改變而扭曲。那就是三種布局管理器,這是能夠對窗口部件的尺寸大小和位置進行設置的對象。
QHBoxLayout:在水平方向排列窗口部件,從左到右;
QVBoxLayout:在垂直方向排列窗口部件,從上到下;
QGridLayout:把各個窗口部件排列在一個網格中。
這三個布局管理器可以各種嵌套組合,水乳交融,組合成各種復雜的布局層次。
2信號與槽
此外,在Qt海洋里,控件與控件之間,控件與嵌入式板卡之間是如何通信的呢,如何團結合作一同創造復雜的信號通信網絡呢?這就要說到第二個知識點——信號與槽。
控件與控件之前可以通過信號與槽的函數格式,將兩個信號共通,參數值互相傳遞和改變,她就好像媒婆一樣搭橋牽線。嵌入式LINUX開發的實現主要是文件的打開關閉讀寫,我們也可以把文件的信息傳遞給控件,也可以把控件的改變值寫入到文件中,做到路路暢通,一路向東!
-
Linux
+關注
關注
87文章
11304瀏覽量
209498 -
C++
+關注
關注
22文章
2108瀏覽量
73651 -
Qt
+關注
關注
1文章
304瀏覽量
37920
原文標題:手把手教你入門嵌入式Qt
文章出處:【微信號:Zlgmcu7890,微信公眾號:周立功單片機】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論