0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

嵌入式LINUX的Qt開發(fā)入門教程

UtFs_Zlgmcu7890 ? 來源:未知 ? 2019-02-03 09:26 ? 次閱讀

關(guān)于LINUX的Qt開發(fā),你了解多少?它和ARM的GUI開發(fā)差別有多大?如果你還一頭霧水,如果你想步入Qt開發(fā)的大門,來,這篇文章將為你打開Qt新世界大門。

1你了解Qt嗎?

Qt是一種基于C++的跨平臺圖形用戶界面應(yīng)用程序開發(fā)框架。如何跨平臺?上到服務(wù)器上位機(jī),下到嵌入式GUI,上天入地?zé)o所不能。Qt最早是由1991年由Qt Company開發(fā),但是到2008年,Qt Company科技被諾基亞公司收購,是的,就是擁有著我們很多情懷的諾基亞。但在2012年,Qt又被Digia收購。等到了2014年,跨平臺集成開發(fā)環(huán)境Qt Creator 3.1.0正式發(fā)布出來,至此,全面支持iOS、Android、WP,QT的時代開始逐步展開。

而對于嵌入式開發(fā)的我們所使用的Qt,是 Qt 的 Embedded Linux 分支平臺,在原始 Qt 的基礎(chǔ)上,做了許多出色的調(diào)整以適合嵌入式環(huán)境。刪除掉了一些與嵌入式無關(guān)的Lib庫,使其相對來說更加節(jié)省嵌入式平臺的內(nèi)存空間。

2Qt如何開發(fā)呢?

下面小編針對于ZLG集團(tuán)的A7核心板M6G2C系列,Qt嵌入式開發(fā),講解一下實操的基礎(chǔ)步驟。

開發(fā)要用到的東西:Qt源代碼+交叉編譯器+一個靈活有創(chuàng)造性的大腦。

編譯步驟,如下圖所示:

使用交叉編譯器編譯好的Qt庫要在LINUX虛擬機(jī)和嵌入式開發(fā)板上各一份,有了這個庫,我們就可以在上面盡情的編寫Qt程序了?。ㄈ绻枰|摸功能,記得要移植一個開源程序tslib,它相當(dāng)于底層驅(qū)動和上層應(yīng)用的皇家接口,有效的處理防抖誤操作等觸摸問題,有機(jī)會下次介紹)。

Qt程序可以自己直接編寫,出口成章。也可以依托于一個神器!這個神器的名字就是——集成開發(fā)環(huán)境 Qt Creator,如下圖。

Qt Creator 是一個強大的跨平臺 IDE,集編輯、 編譯、 運行、 調(diào)試功能于一體。它不僅有簡潔方便的開發(fā)界面,同時支持圖形化編程。相當(dāng)于有了它,即使你不會寫程序,也可以通過控件的拖拽排布,設(shè)計出一個自己喜歡的圖形界面。

3如何編譯呢?

程序搞定了,那我們?nèi)绾尉幾g呢?

有多種方式:

第一,直接使用Qt qmake工具編譯;

第二,使用Qt Creator軟件直接編譯;

第三,市場上的一些第三方編譯工具。

編譯過程,話不多說,直接看下圖,清晰明了:

4重要知識點

當(dāng)然,關(guān)于Qt開發(fā),還有很多重要的知識點,你必須要知道!這里我主要講兩個。

1布局管理器

如果你寫過基于ARM開發(fā)的eMWIN,你一定知道我安放控件時,只需要創(chuàng)建一個控件,把他的顏色、形狀、大小、位置全都使用參數(shù)配置好就萬事大吉了。但是Qt不是這么玩的。

它有三大法器,讓它的控件布局不會因為平臺改變而扭曲。那就是三種布局管理器,這是能夠?qū)Υ翱诓考某叽绱笮『臀恢眠M(jìn)行設(shè)置的對象。

QHBoxLayout:在水平方向排列窗口部件,從左到右;

QVBoxLayout:在垂直方向排列窗口部件,從上到下;

QGridLayout:把各個窗口部件排列在一個網(wǎng)格中。

這三個布局管理器可以各種嵌套組合,水乳交融,組合成各種復(fù)雜的布局層次。

2信號與槽

此外,在Qt海洋里,控件與控件之間,控件與嵌入式板卡之間是如何通信的呢,如何團(tuán)結(jié)合作一同創(chuàng)造復(fù)雜的信號通信網(wǎng)絡(luò)呢?這就要說到第二個知識點——信號與槽。

控件與控件之前可以通過信號與槽的函數(shù)格式,將兩個信號共通,參數(shù)值互相傳遞和改變,她就好像媒婆一樣搭橋牽線。嵌入式LINUX開發(fā)的實現(xiàn)主要是文件的打開關(guān)閉讀寫,我們也可以把文件的信息傳遞給控件,也可以把控件的改變值寫入到文件中,做到路路暢通,一路向東!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11304

    瀏覽量

    209474
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2108

    瀏覽量

    73645
  • Qt
    Qt
    +關(guān)注

    關(guān)注

    1

    文章

    302

    瀏覽量

    37914

原文標(biāo)題:手把手教你入門嵌入式Qt

文章出處:【微信號:Zlgmcu7890,微信公眾號:周立功單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    嵌入式LINUX開發(fā)入門教程

    ;Verdana"><strong>嵌入式LINUX開發(fā)入門教程</strong><
    發(fā)表于 09-10 11:02

    Qt嵌入式圖形開發(fā)(基礎(chǔ)篇)

    Qt嵌入式圖形開發(fā)(基礎(chǔ)篇)對Qt/embedded來說是很好的入門和提高教程
    發(fā)表于 12-16 17:14 ?51次下載

    LinuxQt編程入門教程

    LinuxQt編程入門教程
    發(fā)表于 09-11 08:35 ?11次下載
    <b class='flag-5'>Linux</b>下<b class='flag-5'>Qt</b>編程<b class='flag-5'>入門教程</b>

    嵌入式linux應(yīng)用開發(fā)QT

    隨著linux系統(tǒng)及基于linux系統(tǒng)的嵌入式產(chǎn)品的蓬勃發(fā)展,Qt、Qt/Embedded、Qtopia的字樣越來頻繁的出現(xiàn)在我們面前。
    發(fā)表于 11-06 14:05 ?4次下載

    嵌入式LINUXQt開發(fā)入門教程詳細(xì)說明

     關(guān)于LINUXQt 開發(fā),你了解多少?它和ARM 的GUI 開發(fā)差別有多大?如果你還一頭霧水,如果你想步入Qt
    發(fā)表于 07-29 11:55 ?31次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>LINUX</b>的<b class='flag-5'>Qt</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>入門教程</b>詳細(xì)說明

    嵌入式LINUXQt開發(fā)入門教程

    嵌入式LINUXQt開發(fā)入門教程(最好的嵌入式開發(fā)板)-該文檔為
    發(fā)表于 08-04 11:01 ?30次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>LINUX</b>的<b class='flag-5'>Qt</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>入門教程</b>

    基于嵌入式Linux系統(tǒng)的Qt-Embedded圖像處理界面開發(fā)總結(jié)

    基于嵌入式Linux系統(tǒng)的Qt-Embedded圖像處理界面開發(fā)總結(jié)(嵌入式開發(fā)培訓(xùn)網(wǎng))-文檔為基于嵌入
    發(fā)表于 08-04 15:23 ?7次下載
    基于<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>系統(tǒng)的<b class='flag-5'>Qt</b>-Embedded圖像處理界面<b class='flag-5'>開發(fā)</b>總結(jié)

    嵌入式LINUXQt開發(fā)入門教程

    的跨平臺圖形用戶界面應(yīng)用程序開發(fā)框架。如何跨平臺?上到服務(wù)器上位機(jī),下到嵌入式GUI,上天入地?zé)o所不能。Qt最早是由1991年由Qt Company
    發(fā)表于 11-01 16:31 ?17次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>LINUX</b>的<b class='flag-5'>Qt</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>入門教程</b>

    嵌入式LinuxQt

    嵌入式LinuxQt嵌入式LinuxQt配置特定設(shè)備嵌入
    發(fā)表于 11-01 17:06 ?3次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>的<b class='flag-5'>Qt</b>

    嵌入式LinuxQT版本,嵌入式Linux版本Qt5.4快速部署

    關(guān)鍵詞:摘要:Qt是一個領(lǐng)先的跨平臺應(yīng)用和UI 開發(fā)框架(Framework),使用標(biāo)準(zhǔn)C++,適用于桌面,嵌入式和移動平臺。本文著重就利用Boot to Qt軟件包來實現(xiàn)
    發(fā)表于 11-01 17:20 ?0次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>的<b class='flag-5'>QT</b>版本,<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>版本<b class='flag-5'>Qt</b>5.4快速部署

    嵌入式Linux應(yīng)用程序開發(fā)-(1)第一個嵌入式QT應(yīng)用程序

    開發(fā)環(huán)境,請參考以下帖子: 嵌入式Linux開發(fā)環(huán)境搭建-(5)安裝和配置Qt Creator開發(fā)
    發(fā)表于 11-01 17:21 ?16次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>應(yīng)用程序<b class='flag-5'>開發(fā)</b>-(1)第一個<b class='flag-5'>嵌入式</b><b class='flag-5'>QT</b>應(yīng)用程序

    嵌入式LINUXQt開發(fā)入門教程

    http://wenjunhu.com/d/856644.html
    發(fā)表于 11-02 09:36 ?11次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>LINUX</b>的<b class='flag-5'>Qt</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>入門教程</b>

    嵌入式linux安裝qt,嵌入式Linux版本Qt5.4快速部署

    (Toradex Apalis iMX6)基于Embedded Linux快速部署做較詳細(xì)說明。嵌入式Linux版本Qt5.4快速部署--- by Toradex 秦海
    發(fā)表于 11-02 10:51 ?0次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>linux</b>安裝<b class='flag-5'>qt</b>,<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>版本<b class='flag-5'>Qt</b>5.4快速部署

    VScode嵌入式開發(fā)入門教程

    VScode嵌入式開發(fā)入門教程1.VScode進(jìn)行單片機(jī)嵌入式開發(fā)教程2.單片機(jī)開發(fā)環(huán)境的搭建3.相關(guān)技巧與設(shè)置
    發(fā)表于 11-03 09:51 ?44次下載
    VScode<b class='flag-5'>嵌入式開發(fā)</b>之<b class='flag-5'>入門教程</b>

    嵌入式LINUXQt開發(fā)入門教程

    發(fā)表于 08-21 17:51 ?1次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>LINUX</b>的<b class='flag-5'>Qt</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>入門教程</b>