嵌入式 Linux QT 編程入門

2021-12-25 嵌入式ARM

摘要

QT做為跨平臺應用開發框架,一直以來均屬於Linux用戶圖形界面開發的首選。自1991年問世,QT雖多次被收購,但跨平臺開發的特色及對多平臺的支持力度有增無減。本文節選熱心網友HelloWii的技術貼,分享給有計劃學習QT的童鞋們。

今天來鼓搗了下Qt。

先發點百度百科的東西來一次科普:

Qt是1991年由奇趣科技開發的跨平臺C++圖形用戶界面應用程式開發框架。它既可以開發GUI程序,也可用於開發非GUI程序,比如控制臺工具和伺服器。Qt是面向對象的框架,使用特殊的代碼生成擴展(稱為元對象編譯器(Meta Object Compiler, moc))以及一些宏,易於擴展,允許組件編程。

2008年,奇趣科技被諾基亞公司收購,QT也因此成為諾基亞旗下的程式語言工具。

2012年,Qt被Digia收購。2014年4月,QT實現了對於iOS的完全支持,新增WinRT、Beautifier等插件,廢棄了無Python接口的GDB調試支持,集成了基於Clang的C/C++代碼模塊,並對Android支持做出了調整,至此實現了全面支持Linux、iOS、Android、WP。

言歸正傳,Qt的編程流程圖如下:


第一個Helloworld開發流程:


首先配置好開發環境,具體參考周立功單片機的官方資料(如EasyARM-i.MX283A Linux開發指南),編寫hello_qt.cpp程序如下:


將hello_qt.cpp 拷貝至~/zlg/qt_demo_proj/qt_demo1目錄下,運行以下命令生成hello_qt.pro文件:

$qmake –project

hello_qt.pro文件描述整個工程所包含的源碼及相應的資源文件,qmake是Qt中用來管理工程的項目工具。執行qmake命令,將根據上一步的pro文件,生成makefile文件。

$qmake

根據makefile文件執行make命令則可以編譯出可執行程序。以後需要再編譯時,也只需執行最後一步,即make命令。

$make

經過上述步驟,可以在qt_demo1目錄下見到hello_qt文件,這個文件就是可執行的Qt程序。

把hello_qt文件通過nfs或其它方式下載到開發套件的/root/目錄下,然後通過串口終端登錄開發套件的Linux系統,並通過如下指令即可啟動該程序。

#./hello_qt -qws


至此,基於QT的Helloworld開發流程演示完成,真的和想像的一樣簡單!

-END-

免責聲明:整理文章為傳播相關技術,版權歸原作者所有,如有侵權,請聯繫刪除

相關焦點

  • 嵌入式Linux-Qt環境搭建
    本編介紹如何在嵌入式Linux開發板上配置Qt運行環境,並進行Qt程序運行測試。++QMAKE_LINK_SHLIB = arm-linux-gnueabi-g++# modifications to linux.confQMAKE_AR = arm-linux-gnueabi-ar cqsQMAKE_OBJCOPY = arm-linux-gnueabi-objcopy
  • ARM與嵌入式linux入門建議
    也許你會注意到,現在做嵌入式的人中,做linux研究的人遠比做WinCE的人多,很多產家提供的資料也是以linux為主。我一直很難理解,其實WinCE的界面比linux的界面好看多了,使用起來也很方便,更為重要的是,WinCE的開發和Windows下的開發基本一樣,學起來簡單得多,但是學linux或者使用linux做嵌入式的人就是遠比WinCE多。
  • 嵌入式LINUX的Qt開發入門教程
    打開APP 嵌入式LINUX的Qt開發入門教程 發表於 2019-02-03 09:26:00 關於LINUX的Qt開發,你了解多少
  • 【Linux公開課】Qt編程實戰!
    執行嵌入式的qmake(別名qmake-arm),重新交叉編譯,便可獲得嵌入式版本的Qt程序。14.8 Qt編程實戰 接下來將要介紹一些功能部件的簡單使用方法,然後在最後通過一個經典的小遊戲—貪食蛇示例來說明功能部件之間的組合使用。
  • 嵌入式Linux下Qt/Embedded的應用
    引言 嵌入式作業系統是目前比較流行的作業系統,以其小巧、操作簡單、便於攜帶而深受消費者的歡迎。在當今流行的嵌入式作業系統當中,Linux深受開發者的青睞。Qt是Trolltech公司推出的一個多平臺的C++圖形用戶界面應用程式框架。
  • 【Linux公開課】Qt編程實戰!(中)
    執行嵌入式的qmake(別名qmake-arm),重新交叉編譯,便可獲得嵌入式版本的Qt程序。文員也能看懂學通的《嵌入式Linux開發教程》正式開始免費連載啦!致遠電子微信公眾平臺【獨家首發】。在這個教程中,你看不到自我陶醉的炫技,內容通俗易懂,實用夠用為先。本教程凝聚了ZLG致遠電子嵌入式工程師的心血,轉載請【註明出處】。
  • 【升級版】全系列嵌入式視頻教程之零基礎快速入門
    新版教程基於IMX6ULL、AM335X、RK3399三款開發板,通過課程你可以快速入門並掌握嵌入式通用開發方式,快速上手任何Linux開發板,用戶終身享用開發板/課程相關的技術支持。課程優勢:從2019年開始,新視頻路線發生了很大的變化:1、按這2條線路規劃課程:快速入門、深入學習2、一板通,百板明:使用多款板子錄製,先講通用原理,再講實際操作。
  • 嵌入式 Arm Linux 入門必讀書籍推薦
    嵌入式 Arm Linux 入門必讀書籍推薦前段時間有個剛開始學習 Arm Linux 的同學問我:對於還處於入門階段的新手,有什麼建議。並讓我推薦一些好的書籍。嵌入式 Linux 是一個龐大的系統,涉及到硬體和計算機科學,是橫跨電子和計算機的綜合學科。
  • 【萬字長文】嵌入式Linux + Qt應用開發,基於imx6ul晶片平臺
    嵌入式Linux + Qt應用開發的遠遠不止這些,但由於工作原因,我就再沒有更新過嵌入式Linux + Qt的相關內容了。關於Qt的具體編程細節,本手冊不作描述。本手冊的所有源碼均公開,源碼含有適當的注釋以輔助閱讀,開發者可作學習參考。
  • Qt5軟體開發-第1章 QT入門(上)
    1.2 QWidget與Qml的區別現在行動裝置興起,QT主推QML編程,QT5推出了QT Android版本,用於Android系統編程。初學者可能困惑以後該學習QML還是QWidget來進行編程?在 Qt4 時代主流的控制項(Qwidget)編程,所用的語言一般是C/ C++。
  • 【Linux公開課】在嵌入式環境運行Qt程序
    由於Qt具有良好的可移植性,在桌面版本中編譯運行成功的應用程式,一般只需要用交叉編譯工具的qmake重新編譯,即可在目標板上運行
  • 盤點嵌入式那些常見的GUI:emWin、TouchGFX、MiniGUI、Qt等
    emWin屬於SEGGER公司下面的一種GUI產品,一種嵌入式GUI解決方案。業界領先的嵌入式圖形庫,專業的嵌入式GUI。為嵌入式和智能物聯網設備提供一個成熟的、經過驗證的跨平臺GUI系統。想必學習嵌入式開發的,都應該知道Qt,Qt是一個1991年由Qt Company開發的跨平臺C++圖形用戶界面應用程式開發框架。
  • Qt 6.0 正式發布!
    Qt 6.0 源碼下載地址:https://download.qt.io/archive/qt/6.0/6.0.0/使用Qt安裝器框架安裝Qt 6.0:https://download.qt.io/official_releases
  • 嵌入式 Linux 的一切,看這一篇就夠了!
    我們常說的嵌入式linux系統,其實與電腦端運行的linux系統本質上是一樣的,都是使用的linux內核,相同的文件系統目錄結構。區別在於嵌入式linux系統多少經過裁剪的,可能在操作時你會發現,有些命令不支持,或者有些命令的個別參數不支持!還有就是內核的功能也有裁剪。
  • 在Visual Studio中進行Qt Quick應用程式的嵌入式開發(一)
    本文我們將展示如何使用此功能在Visual Studio中進行Qt Quick應用程式的嵌入式開發。本次的嵌入式目標板選用的是 Raspberry Pi 3 Model B ,嵌入式作業系統為Linux,應用程式示例圖如下:開發環境的搭建主機環境:
  • 如何在 Ubuntu Linux 上從原始碼構建 Qt 6.2.2
    準備要從原始碼構建所有 Qt,您需要至少 30GB 的可用磁碟空間,最好至少有 16GB 的虛擬內存 (RAM),尤其是在構建 qtwebengine 時。有許多第三方庫和命令的依賴項。wget https://download.qt.io/official_releases/qt/6.2/6.2.2/single/qt-everywhere-src-6.2.2.tar.xztar xf qt-everywhere-src-6.2.2.tar.xzcd qt-everywhere-src-6.2.2現在配置,指定安裝位置。
  • 工程師故事 | 真實告訴您Linux入門需要怎麼做
    導語:相對於大部分嵌入式作業系統,Linux系統是開源免費的。Linux系統基於GPL協議,也使其成為嵌入式系統的主流,應用也非常之廣泛。有些人出於對軟體編程的喜好,有些人以Linux學習作為嵌入式學習基礎,有些人為了以後從事Linux系統運維工作,有些人為了學習Linux系統能夠給自己帶來足夠的財富...我想說的是,無論你從最初開始打算學習Linux系統的那一刻開始,您就要做好一直前行的準備...
  • 百問網韋東山嵌入式Linux新手入門學習路徑
    1.1 單片機核心/RTOS必備(基於STM32F103)1.2 單片機核心/RTOS必備_硬體編程大全(基於IMX6ULL)1.3 單片機核心/RTOS必備_硬體編程大全(基於STM32MP157)二、嵌入式Linux全新系列教程本套課程適用於0基礎入門的學員
  • Qt值得學習嗎?詳解Qt的幾種開發方式
    qt值得學習嗎?嵌入式要學的東西真的很多,我們可能會說不寫界面的話就不用學qt了?我不贊同。Qt的實現主要是採用p-impl手法,實現接口與實現分離,它有很好的消息循環機制,有的對象與線程的相關性,它也有藉助moc生成反射元信息,這種設計方法至今仍然非常適用。qt內核部分其實是完全和界面無關的,你完全可以拋開Qt GUI部分來學習和使用Qt。
  • 【嵌入式Linux開發教程,獨家首發】目錄(初稿)
    tftp伺服器第二篇 EasyARM-i.MX283A開發平臺第7章 EasyARM-i.MX283A開發套件介紹7.1 開發套件簡介7.2 硬體資源7.3 軟體資源7.4 產品組裝第8章 EasyARM-i.MX283A入門實操