• 方案介紹
    • 一、前言
    • 二、QT下載
    • 三、QT安裝
    • 四、新建QT工程
    • 五、如何打開現(xiàn)有的工程?
    • 六、更新Token失敗如何解決?
    • 七、華為云的工程需要改哪里?
    • 八、Qt是什么?
  • 附件下載
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

QT工程打開、編譯、運(yùn)行流程

03/13 09:43
819
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

更多詳細(xì)資料請聯(lián)系.docx

共1個(gè)文件

一、前言

這篇文章介紹QT的工程如何使用。 目前設(shè)計(jì)的很多的物聯(lián)網(wǎng)項(xiàng)目的APP都是采用Qt開發(fā)的。很多同學(xué)對Qt比較陌生,不知道如何使用QT。

這篇文章就來解決這個(gè)問題。

二、QT下載

我這里采用的Qt版本是5.12.6,目前開發(fā)的物聯(lián)網(wǎng)項(xiàng)目的上位機(jī)APP都是采用這個(gè)版本的QT開發(fā)的。

目前官網(wǎng)上是無法下載(國內(nèi)的IP地址被封了,科學(xué)上網(wǎng)才可以),我這將QT的安裝包已經(jīng)下載下來了,放在了網(wǎng)盤里,大家可以去網(wǎng)盤下載。

網(wǎng)盤地址: https://ccnr8sukk85n.feishu.cn/wiki/QjY8weDYHibqRYkFP2qcA9aGnvb?from=from_copylink

(在軟件工具目錄QT安裝包目錄下)

image-20250311170108578

這是 QT5.12.6的官方下載地址:https://download.qt.io/archive/qt/5.12/5.12.6

你也可以從官方下載地址下載(需要解決上外網(wǎng)的問題)。

打開下載鏈接后選擇下面的版本進(jìn)行下載:

三、QT安裝

QT安裝的路徑需要設(shè)置在純英文路徑下。一般默認(rèn)的C盤路徑就可以。 如果你要換其他安裝目錄,也要保證路徑中沒有中文字符。

軟件安裝時(shí)斷網(wǎng)安裝,否則會(huì)提示輸入賬戶(當(dāng)然,你注冊一個(gè)賬號登錄也是可以的)。

雙擊安裝包就可以進(jìn)行安裝。

image-20221203151742653

**選擇編譯器: (一定要看清楚了) ** (如果你需要其他的編譯器,可自行選擇)

image-20241028152725134

四、新建QT工程

這個(gè)章節(jié)是教大家測試一下安裝之后的QT環(huán)境是否正常。

4.1 打開QT軟件

安裝QT之后,可以在Qt的安裝目錄下找到你的QT程序,你可以手動(dòng)創(chuàng)建一個(gè)快捷方式放在桌面。

你可以根據(jù)你的QT安裝目錄去尋找你的QT軟件。

比如 我的路徑如下。

C:QtQt5.12.6ToolsQtCreatorbinqtcreator.exe

雙擊qtcreator.exe 就可以打開QT軟件。

image-20250311170758671

4.2 新建工程

【1】新建工程

image-20240117144052547

【2】設(shè)置項(xiàng)目的名稱。

image-20250304151039436

【3】選擇編譯系統(tǒng)

image-20240117144239681

【4】選擇默認(rèn)繼承的類

image-20240117144302275

【5】選擇編譯器,如果你要編譯Android的,可以選Android(如下)

image-20241028153603487

【6】點(diǎn)擊完成

image-20240117144354252

【7】工程創(chuàng)建完成

image-20250304151134694

4.3 切換編譯器

在左下角是可以切換編譯器的。 可以選擇用什么樣的編譯器編譯程序。

目前新建工程的時(shí)候選擇了2種編譯器。 一種是mingw32這個(gè)編譯Windows下運(yùn)行的程序。 一種是Android編譯器,可以生成Android手機(jī)APP。

不過要注意:Android的編譯器需要配置一些環(huán)境才可以正常使用,這個(gè)大家可以網(wǎng)上找找教程配置一下就行了。

也可以看這篇文章(這篇是付費(fèi)的)

https://blog.csdn.net/xiaolong1126626497/article/details/117254453

windows的編譯器就沒有這么麻煩,安裝好Qt就可以編譯使用。

下面我這里就選擇的 mingw32這個(gè)編譯器,編譯Windows下運(yùn)行的程序。

image-20250304151140151

4.4 編譯測試功能

創(chuàng)建完畢之后,編譯測試一下功能是否OK。

點(diǎn)擊左下角的綠色三角形按鈕

image-20250304151150333

正常運(yùn)行就可以看到彈出一個(gè)白色的框框。這就表示工程環(huán)境沒有問題了。 接下來就可以放心的設(shè)計(jì)界面了。

image-20250304151207573

到此,如果正常,說明你的環(huán)境已經(jīng)安裝好了。

五、如何打開現(xiàn)有的工程?

如果你得到了一個(gè)已經(jīng)開發(fā)好的Qt工程,你想打開它編譯使用,如何操作?

比如,你得到的工程是這樣的。 你需要在你電腦上創(chuàng)建一個(gè)純英文的目錄,比如:D:/QtProject,再將這個(gè)工程復(fù)制 過去。

image-20250311171330452

復(fù)制過去之后,打開文件夾,可以看到后綴.pro 的這個(gè)文件。 雙擊它就可以打開工程。

image-20250311171526339

當(dāng)然也有意外情況,如何你安裝了QT但是這里的圖標(biāo)沒有自動(dòng)識(shí)別為QT工程,怎么辦?

你可以,先打開Qt軟件,軟件在QT軟件里選擇打開工程,找到你的工程路徑,選擇工程打開也可以的。

image-20250311172106246

第一次打開工程需要你選擇編譯器。 如果你要編譯器Android 和 Windows的版本,就按下面的截圖選擇編譯器。

image-20250311172149613

進(jìn)來之后,如果要編譯Windows版本的,就按下面的截圖設(shè)置配置。就可以編譯運(yùn)行了。

image-20250311172238284

啟動(dòng)之后的效果。

image-20250311172407418

如果你想編譯Android版本的。 那么切換編譯器就可以了。

image-20250311172536258

點(diǎn)擊 錘子 按鈕構(gòu)建。

構(gòu)建完成之后,在編譯輸出頁面,可以看到生成的Android的安裝包路徑位置。

image-20250311172631742

然后通過QQ 或者 微信 其他手段發(fā)給你的手機(jī)就可以安裝了。

QQ 或 微信 默認(rèn)不識(shí)別安裝包的。 你需要選擇瀏覽器打開,就可以識(shí)別安裝包,然后安裝了。

六、更新Token失敗如何解決?

如果你的項(xiàng)目是物聯(lián)網(wǎng)項(xiàng)目,需要連接華為云IOT這種物聯(lián)網(wǎng)服務(wù)器獲取數(shù)據(jù)。 代碼就會(huì)有使用HTTPS請求。

用到了HTTPS 就需要SSL的庫。 你默認(rèn)安裝的QT是不帶這些庫的。

如果沒有這些庫,你點(diǎn)擊界面上的的更新token 就會(huì)報(bào)錯(cuò)。

應(yīng)用程序輸出 欄目里也會(huì)提示警告。

比如: qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization faile

這樣的提示。

如何解決呢?

在你的項(xiàng)目資料包目錄下,會(huì)有一個(gè)windows的APP文件目錄,進(jìn)去可以看到兩個(gè)文件。

libcrypto-1_1.dlllibssl-1_1.dll 。

image-20250311173219785

將這兩個(gè)文件拷貝到你的Qt的安裝目錄下C:QtQt5.12.65.12.6mingw73_32bin 就可以了。

image-20250311173511683

然后再運(yùn)行程序,測試更新Token就正常的。

image-20250311173702659

七、華為云的工程需要改哪里?

如果你的項(xiàng)目是華為云IOT的工程,運(yùn)行了Qt之后需要替換你的華為云賬號。

前提條件: 你的華為云是標(biāo)準(zhǔn)版、你是嚴(yán)格按照設(shè)計(jì)文檔做的步驟、你的項(xiàng)目編號是大于172

那么只需要,修改widget.h 文件的3個(gè)參數(shù)即可。

image-20250311174812570

如果不是呢?

看這個(gè)文檔的第五章:https://blog.csdn.net/xiaolong1126626497/article/details/134781708

八、Qt是什么?

Qt介紹與應(yīng)用

1. Qt是什么?

Qt(讀作“cute”)是一個(gè)跨平臺(tái)的C++應(yīng)用開發(fā)框架,它提供了豐富的API和工具,用于開發(fā)圖形界面(GUI)**和**非圖形界面(CLI、后臺(tái)服務(wù))**的應(yīng)用程序。Qt 由 Qt Group(原Digia公司)維護(hù),支持**Windows、Linux、macOS、Android、iOS等多個(gè)平臺(tái),并且支持嵌入式開發(fā),如嵌入式Linux、RTOS等。

2. Qt的核心特點(diǎn)

  1. 跨平臺(tái)性
    • 代碼一次編寫,可在多個(gè)平臺(tái)(Windows、Linux、macOS、Android、iOS、嵌入式Linux)上運(yùn)行,減少重復(fù)開發(fā)工作。
  2. 模塊化設(shè)計(jì)
    • Qt 采用模塊化設(shè)計(jì),提供了GUI、網(wǎng)絡(luò)通信、多線程、數(shù)據(jù)庫、多媒體、3D渲染等模塊,可以根據(jù)需求選擇合適的模塊進(jìn)行開發(fā)。
  3. 強(qiáng)大的GUI開發(fā)能力
    • Qt 提供了Qt Widgets(傳統(tǒng)界面組件)和Qt Quick(QML + C++)(基于QML的現(xiàn)代UI開發(fā))兩種方式,可用于開發(fā)桌面軟件、移動(dòng)端App、嵌入式設(shè)備UI等。
  4. 信號與槽(Signal & Slot)機(jī)制
    • Qt 采用信號與槽機(jī)制,可以實(shí)現(xiàn)高效的事件驅(qū)動(dòng)編程,使界面組件和后臺(tái)邏輯的交互更加方便。
  5. 豐富的工具支持
    • Qt Creator:官方IDE,支持代碼編輯、調(diào)試、UI設(shè)計(jì)等功能。
    • Qt Designer:用于可視化設(shè)計(jì)UI界面。
    • qmake & CMake:支持項(xiàng)目構(gòu)建和管理。
    • Qt Linguist:提供國際化和本地化支持,方便多語言開發(fā)。
  6. 支持嵌入式開發(fā)
  7. 開源與商業(yè)版本
    • Qt 提供GPL/LGPL 許可證的開源版本,同時(shí)也提供商業(yè)授權(quán)版本,可用于閉源商業(yè)應(yīng)用開發(fā)。

3. Qt能做什么?

Qt 適用于各種軟件開發(fā)場景,常見的應(yīng)用包括:

應(yīng)用類型 具體示例
桌面應(yīng)用 Windows、Linux、macOS 應(yīng)用,如文本編輯器、IDE、圖像處理軟件(如Photoshop的插件)、系統(tǒng)監(jiān)控工具
嵌入式開發(fā) 智能家居、車載系統(tǒng)、工業(yè)控制(HMI人機(jī)界面)、醫(yī)療設(shè)備(醫(yī)院監(jiān)護(hù)儀)、自助終端(ATM機(jī))
移動(dòng)應(yīng)用 Android 和 iOS 應(yīng)用,如地圖導(dǎo)航、智能設(shè)備控制App
物聯(lián)網(wǎng)(IoT) 遠(yuǎn)程設(shè)備控制、智能硬件管理界面、數(shù)據(jù)采集終端
3D與圖形應(yīng)用 游戲引擎、3D建模軟件(支持OpenGL、Vulkan等)
網(wǎng)絡(luò)通信 基于TCP/IP、MQTT、HTTP的客戶端和服務(wù)器應(yīng)用,如即時(shí)通訊軟件
數(shù)據(jù)庫管理 連接SQL/NoSQL數(shù)據(jù)庫,開發(fā)數(shù)據(jù)庫管理工具

4. Qt的核心模塊

Qt 采用模塊化架構(gòu),常見的模塊如下:

模塊名稱 功能
Qt Core 核心模塊,提供基本數(shù)據(jù)結(jié)構(gòu)、線程管理、文件操作、時(shí)間管理等功能
Qt GUI 2D圖形、窗口管理、OpenGL渲染支持
Qt Widgets 傳統(tǒng)桌面UI組件,如按鈕、文本框、表格、樹形控件等
Qt Quick 基于QML的UI開發(fā),支持流暢動(dòng)畫和觸摸屏操作,適合移動(dòng)端和嵌入式設(shè)備
Qt Multimedia 多媒體處理,如音視頻播放、攝像頭訪問
Qt Network 網(wǎng)絡(luò)通信模塊,支持HTTP、TCP、UDP、WebSocket、MQTT等
Qt SQL 數(shù)據(jù)庫模塊,支持MySQL、SQLite、PostgreSQL等數(shù)據(jù)庫
Qt Bluetooth 支持藍(lán)牙通信
Qt WebEngine 集成Chromium瀏覽器引擎,用于開發(fā)Web應(yīng)用
Qt Charts 提供豐富的圖表繪制功能
Qt 3D 提供3D圖形渲染,支持OpenGL
Qt SerialPort 串口通信,適用于嵌入式設(shè)備

5. Qt 開發(fā)方式

Qt 支持兩種主要的UI開發(fā)方式:

(1)Qt Widgets

Qt Widgets 是 Qt 傳統(tǒng)的 GUI 庫,提供了基于**C++**的窗口組件,如按鈕、文本框、菜單、表格等,適用于桌面應(yīng)用開發(fā)。

示例:

#include <QApplication>
#include <QPushButton>

int main(int argc, char *argv[]) {
    QApplication app(argc, argv);
    QPushButton button("Hello, Qt!");
    button.show();
    return app.exec();
}
(2)Qt Quick(QML + C++)

Qt Quick 采用QML(類似JavaScript的聲明式語言),適用于移動(dòng)應(yīng)用、嵌入式觸摸屏界面,支持流暢動(dòng)畫和動(dòng)態(tài)UI。

示例:

import QtQuick 2.15
import QtQuick.Controls 2.15

ApplicationWindow {
    visible: true
    width: 640
    height: 480

    Button {
        text: "Click Me"
        anchors.centerIn: parent
        onClicked: console.log("Button Clicked!")
    }
}

6. Qt 開發(fā)環(huán)境搭建

(1)安裝 Qt
  1. 下載 Qt:從Qt 官網(wǎng)下載 Qt 安裝包。
  2. 選擇安裝組件:
    • 必選:Qt Core、Qt Widgets、Qt Quick、Qt Network、Qt Creator(IDE)
    • 選裝:Qt Multimedia、Qt SerialPort、Qt WebEngine 等
  3. 配置 Qt Creator,創(chuàng)建新項(xiàng)目。
(2)交叉編譯(嵌入式開發(fā))
  1. 下載安裝 ARM 交叉編譯工具鏈
  2. 配置 Qt 交叉編譯環(huán)境(qmake、CMake)
  3. 使用 Qt Creator 遠(yuǎn)程調(diào)試嵌入式設(shè)備

7. Qt 的應(yīng)用案例

  1. 桌面軟件
    • VLC 播放器(開源媒體播放器)
    • Wireshark(網(wǎng)絡(luò)抓包工具)
    • VirtualBox(虛擬機(jī)軟件的 UI)
  2. 嵌入式系統(tǒng)
  3. 移動(dòng)應(yīng)用
    • Telegram(Qt 版本)
    • Google Earth(部分界面使用 Qt)

9. 總結(jié)

Qt 是一個(gè)強(qiáng)大的跨平臺(tái) C++ 開發(fā)框架,適用于桌面、移動(dòng)、嵌入式開發(fā),提供豐富的 API 和工具支持,適用于工業(yè)控制、車載系統(tǒng)、智能家居、物聯(lián)網(wǎng)等領(lǐng)域。如果你需要高性能、多平臺(tái)兼容、現(xiàn)代化 UI 界面的開發(fā),Qt 是一個(gè)值得選擇的框架!

  • 更多詳細(xì)資料請聯(lián)系.docx
    下載

相關(guān)推薦