Qt:windows下Qt安装教程
?Qt 5.14.2 安裝
先斷網(wǎng),再安裝
?
軟件下載
Qt5.12下載網(wǎng)址:?http://download.qt.io/archive/qt
注意:?官網(wǎng)很慢,所以我們一般是使用國內(nèi)鏡像網(wǎng)站:
清華大學(xué):Index of /qt/official_releases/qt/ | 清華大學(xué)開源軟件鏡像站 | Tsinghua Open Source Mirror
中國互聯(lián)網(wǎng)絡(luò)信息中心:Index of /qt/official_releases/qt/ | 清華大學(xué)開源軟件鏡像站 | Tsinghua Open Source Mirror
中國科學(xué)技術(shù)大學(xué):Index of /qtproject/official_releases/qt/
注意:安裝時盡量選擇某個高的版本,比如你要安裝qt5.14.x系列的版本,目前有qt5.14.0、qt5.14.2、qt5.14.3,那就選擇qt5.14.3
例子:不要安裝qt5.14.0,因為沒有辦法打包,是官方bug。這個bug在qt5.14.2和qt5.14.3中得到了解決
將 Qt 軟件的下載地址復(fù)制到迅雷的下載框,如果迅雷官方有資源,就會自動識別,下載速度就很快了。
如何找到 Qt 軟件的下載地址呢?以清華大學(xué)開源軟件鏡像站為例,進入 Qt 5.9.0 的下載目錄(https://mirrors.tuna.tsinghua.edu.cn/qt/archive/qt/5.12/5.12.0/),在某個鏈接處單擊鼠標(biāo)右鍵,會彈出一個菜單,選擇“復(fù)制鏈接地址”,如下圖所示:
然后再粘貼到迅雷的下載框即可
下載好之后的安裝包:
目錄說明(可以不看)
Qt 官網(wǎng)有一個專門的資源下載網(wǎng)站,所有的開發(fā)環(huán)境和相關(guān)工具都可以從這里下載,具體地址是:?Index of /
| snapshots | 預(yù)覽版,最新的開發(fā)測試中的 Qt 庫和開發(fā)工具。 |
| online | Qt 在線安裝源。 |
| official_releases | 正式發(fā)布版,是與開發(fā)版相對的穩(wěn)定版 Qt 庫和開發(fā)工具(可以下載Qt開發(fā)環(huán)境和源代碼) |
| ministro | 迷你版,目前是針對 Android 的版本。 |
| learning | 有學(xué)習(xí) Qt 的文檔教程和示范視頻。 |
| development_releases | 開發(fā)版,有新的和舊的不穩(wěn)定版本,在 Qt 開發(fā)過程中的非正式版本。 |
| community_releases | 社區(qū)定制的 Qt 庫,Tizen 版 Qt 以及 Qt 附加源碼包。 |
| archive | 各種 Qt 開發(fā)工具安裝包,新舊都有(可以下載 Qt 開發(fā)環(huán)境和源代碼)。 |
archive 和 official_releases 兩個目錄都有最新的 Qt 開發(fā)環(huán)境安裝包,我們以 archive 目錄里的內(nèi)容為例來說明。點擊進入 archive 目錄:
| vsaddin | 這是 Qt 針對 Visual Studio 集成的插件 |
| qtcreator | 這是 Qt 官方的集成開發(fā)工具,但是 qtcreator 本身是個空殼,它沒有編譯套件和 Qt 開發(fā)庫。除了老版本的 Qt 4 需要手動下載 qtcreator、編譯套件、Qt 開發(fā)庫進行搭配之外,一般用不到。對于我們教程壓根不需要下載它,因為 Qt 5 有專門的大安裝包,里面包含開發(fā)需要的東西,并且能自動配置好。 |
| qt | 這是 Qt 開發(fā)環(huán)境的下載目錄,我們剛說的 Qt 5 的大安裝包就在這里面。某個版本后,只提供在線安裝包了。 |
| online_installers | 在線安裝器,國內(nèi)用戶不建議使用,在線安裝是龜速,還經(jīng)常斷線。我們教程采用的全部是離線的大安裝包。某個版本后,只提供在線安裝包了。 |
我們再進入 qt 子目錄 ,看到如下列表:
這個 qt 目錄包含了所有的 Qt 版本,從 1.0 到目前的 6.0。
進入 5.12 目錄,會看到各種子版本:
這里解釋一下 Qt 的版本號,比如 5.12.8 是完整的 Qt 版本號,第一個數(shù)字 5 是大版本號(major),第二個數(shù)字 12 是小版本號(minor),第三個數(shù)字 8 是補丁號(patch)。 只要前面兩個數(shù)字相同,Qt 的特性就是一致的,最后的數(shù)字是對該版本的補丁更新。也就是說本教程對?5.12.*?系列的 Qt 都是通用的,下載5.12.*?任意一個版本都可以,這里我們以下載 5.12.2。
點擊5.12.2:
我們以 Windows 安裝包(qt-opensource-windows-x86-5.9.0.exe)講解一下 Qt 安裝包命名規(guī)則,其中:
- opensource 是指開源版本;
- windows 是指開發(fā)環(huán)境的操作系統(tǒng);
- x86 是指 32 位系統(tǒng);
- 5.9.0 是 Qt 版本號。
軟件安裝
Step1:?管理員權(quán)限運行安裝包, 稍等片刻, 然后點擊next
Step2: 如果沒有賬號, 則選擇skip,不過現(xiàn)在已經(jīng)不允許skip了,必須先注冊一個
Step3: Qt設(shè)置歡迎界面, 選擇下一步
Step4: 選擇安裝路徑
Step5: 選擇組件, 然后選擇下一步
Qt 的安裝組件分為兩部分:一部分是“Qt xxx.xxx”分類下的,該分類包含的是真正的 Qt 開發(fā)庫組件;另一部分是“Tools”分類下的,該分類包含的是集成開發(fā)環(huán)境和編譯工具。
“Qt xxx.xxx”組件說明:(一般選擇MinGW xxx, Qt xxx就可以了)
| MSVC *** | 針對 Windows 平臺上的 MSVC 編譯器的 Qt 組件,如 msvc2015 32-bit 和 msvc2015 64-bit 等。安裝該組件需要計算機上已經(jīng)安裝相應(yīng)版本的 Visual Studio。 |
| MinGW *** | 編譯器模塊。MinGW 是 Minimalist GNU for Windows 的縮寫,MinGW 是 Windows 平臺上使用的 GNU 工具集導(dǎo)入庫的集合。 |
| UWP *** | WP 是 Windows 10 中 Universal Windows Platform 的簡稱,有不同編譯器類型的 UWP,屬于 MSVC 編譯器生成的 Qt 庫。如果不是開發(fā) UWP 應(yīng)用程序,就不需要,直接忽略。 |
| Android *** | 這是針對安卓應(yīng)用開發(fā)的 Qt 庫,一般情況下用不到 |
| Sources | Qt 的源代碼包,除非你想閱讀 Qt 的源碼,否則不用安裝。?建議選擇,因為某個時候你可能需要它 |
| Qt *** | Qt 的附加模塊,大部分建議安裝,這些附加模塊括號里的 TP 是指 Technology Preview ,技術(shù)預(yù)覽模塊的意思,還處在功能測試階段,不是正式版模塊;附加模塊括號里的 Deprecated 是指拋棄的舊模塊,兼容舊代碼使用的,一般用不到(如果不是為和以前開發(fā)的源程序兼容,過時的模塊不要選擇)。這些附加模塊讀者可以選擇部分或都勾選了安裝,占用空間不大。 |
部分組件說明:
- Qt Charts 是二維圖表模塊,用于繪制柱狀圖、餅圖、曲線圖等常用二維圖表。
- Qt Data Visualization 是三維數(shù)據(jù)圖表模塊,用于數(shù)據(jù)的三維顯示,如散點的三維空間分布、三維曲面等。
“Tools”分類下的開發(fā)組件(一般選擇Qt Creator xxx 和MinGW xxxxx)
| Qt Creator xxx | 這是集成開發(fā)環(huán)境,強制安裝的,以后所有的項目和代碼都在 Qt Creator 里面新建和編輯。 |
| Qt Creator xxxx CDB Debugger surpport | 用于和 CDB 調(diào)試工具對接,默認(rèn)安裝,一般用于調(diào)試 VC 編譯的 Qt 程序。 |
| MinGW xxxxx | 這是開源的編譯器套件,建議安裝 |
| Strawberry Perl 5.22.1.3 | 用于編譯 Qt 源代碼的 Perl 開發(fā)環(huán)境,不需要安裝。如果讀者以后用到,也可以另外手動安裝,在搜索引擎搜索 Strawberry Perl 關(guān)鍵詞,去 Strawberry Perl 官網(wǎng)下載最新的安裝包是一樣用的。 |
Step6: 同意許可協(xié)議, 然后選擇下一步
Step7: 開始菜單快捷方式
可以修改在菜單中顯示的名字, 然后下一步
Step8: 點擊安裝即可
Step9: 選擇下一步
Step10: 完成Qt向?qū)?br />
Step11: 完成安裝, 打開軟件
安裝完成之后,在 Windows“開始”菜單中會看到 Qt 的 程序組。
| Assistant(Qt 助手) | 用來查看幫助文檔,已被集成在 Qt Creator 中。 |
| Designer(Qt 設(shè)計師) | 圖形界面可視化編輯工具,已被集成在 Qt Creator 中,在 Qt Creator 中編輯或創(chuàng)建界面文件時,就可以自動打開。 |
| Linguist(Qt 語言家) | 多國語言翻譯支持工具,可以用來編輯語言資源文件,在開發(fā)多語言界面的應(yīng)用程序時會用到。 |
| Qt 5.xx.x(MinGW 5.3.0 32bit) | Qt 命令行工具,用來配置 Qt 開發(fā)環(huán)境(主要是設(shè)置 PATH 變量) |
新建項目測試是否安裝成功
Step1: 新建一個項目
Step2: 選擇Qt控件項目
Step3: 項目介紹和位置
Step4: 選擇Kit
Step5: 類信息
默認(rèn)即可
Step6: 項目管理
Step7: 運行項目
Step8: 結(jié)果測試
如果出現(xiàn)一個窗口, 表示軟件已經(jīng)安裝好了
Qt安裝目錄結(jié)構(gòu)說明
Qt 整體目錄結(jié)構(gòu)
不同版本 Qt 的安裝目錄結(jié)構(gòu)大同小異,本節(jié)我們以 Qt 5.9.0 為例來說明,如下圖所示。
注意,~\5.9\ 和 ~\Tools\ 目錄下都有 mingw53_32 目錄(圖中我用紅色標(biāo)出來了),但是兩者是有區(qū)別的:
- ~\5.9\mingw53_32\ 目錄包含的是 Qt 的類庫文件,例如頭文件、靜態(tài)庫、動態(tài)庫等,這些類庫文件使用 MinGW 工具集編譯而成。
- ~\Tools\mingw53_32\ 目錄包含的是 MinGW 工具集,例如編譯器 g++、鏈接器 ld、make 工具、打包工具 ar 等。
QtCreator 使用 MSVC2015 編譯生成的,所以安裝目錄里有一個 vcredist 文件夾存儲 VC 運行庫安裝文件。
MaintenanceTool.exe ,對于離線安裝包,它只能用于刪除軟件包,如果 Qt 開發(fā)環(huán)境是用在線安裝方式裝的,這個工具還可以管理開發(fā)環(huán)境組件和升級組件
Qt 類庫的幫助文件位于 Docs 文件夾里,需要用 Qt Assistant 工具才能查看
Examples 里是示例代碼,可以用 QtCreator 集成開發(fā)環(huán)境打開各個示例。
Qt 類庫目錄
Qt用到的開發(fā)工具
Qt 不是憑空產(chǎn)生的,它是基于現(xiàn)有工具鏈打造而成的,它所使用的編譯器、鏈接器、調(diào)試器等都不是自己的,Qt 官方只是開發(fā)了上層工具。下面我們分幾個部分講解 Qt 使用到的工具鏈。
GNU 工具集
在上個世紀(jì)八十年代,計算機都是奢侈品,操作系統(tǒng)里最著名的是 Unix 家族, 當(dāng)時還沒有 Windows、Linux 之類的,Unix 系統(tǒng)都是商業(yè)軟件,里面的應(yīng)用軟件也是商業(yè)軟件, 全是封閉的環(huán)境。
系統(tǒng)程序員 Richard M. Stallman (RMS) 在此環(huán)境下創(chuàng)立了與眾不同的 GNU 項目 (GNU’s Not Unix) , 以及推進自由軟件發(fā)展的 Free Software Foundation (FSF) 自由軟件基金會。
GNU 項目是為了創(chuàng)建自由的類 Unix 系統(tǒng),也因此開發(fā)出來很多開源的系統(tǒng)工具,其中非常著名的就是 GCC (GNU Compiler Collection,GNU編譯器套件)。
現(xiàn)在我們知道,GUN 開發(fā)類 Unix 系統(tǒng)的項目失敗了,但是它開發(fā)的一系列工具集卻用到了后來的 Linux 內(nèi)核上,兩者結(jié)合形成了今天的各種 Linux 發(fā)行版
在 GNU 工具集里面,開發(fā)時常見到的幾個羅列如下(這些工具通常位于 Linux 或 Unix 系統(tǒng)里的 /usr/bin/ 目錄):
| gcc | GNU C 語言編譯器 |
| g++ | GNU C++ 語言編譯器。 |
| ld | GNU 鏈接器,將目標(biāo)文件和庫文件鏈接起來,創(chuàng)建可執(zhí)行程序和動態(tài)鏈接庫。 |
| ar | 生成靜態(tài)庫 .a ,可以編輯和管理靜態(tài)鏈接庫。 |
| make | 生成器,可以根據(jù) makefile 文件自動編譯鏈接生成可執(zhí)行程序或庫文件。 |
| gdb | 調(diào)試器,用于調(diào)試可執(zhí)行程序。 |
| ldd | 查看可執(zhí)行文件依賴的共享庫(擴展名 .so,也叫動態(tài)鏈接庫)。 |
MinGW
原本 GNU 工具只在 Linux/Unix 系統(tǒng)里才有,隨著 Windows 系統(tǒng)的廣泛使用, 為了在 Windows 系統(tǒng)里可以使用 GNU 工具,誕生了 MinGW(Minimalist GNU for Windows) 項目,利用 MinGW 就可以生成 Windows 里面的 exe 程序和 dll 鏈接庫。
需要注意的是,MinGW 與 Linux/Unix 系統(tǒng)里 GNU 工具集的有些區(qū)別:
- MinGW 里面工具帶有擴展名 .exe, Linux/Unix 系統(tǒng)里工具通常都是沒有擴展名的。
- MinGW 里面的生成器文件名為 mingw32-make.exe,Linux/Unix 系統(tǒng)里就叫 make。
- MinGW 在鏈接時是鏈接到?*.a庫引用文件,生成的可執(zhí)行程序運行時依賴?*.dll,而 Linux/Unix 系統(tǒng)里鏈接時和運行時都是使用*.so。
另外 MinGW 里也沒有 ldd 工具,因為 Windows 不使用 .so 共享庫文件。如果要查看 Windows 里可執(zhí)行文件的依賴庫,需要使用微軟自家的 Dependency Walker 工具。Windows 里面動態(tài)庫擴展名為 .dll,MinGW 可以通過 dlltool 來生成用于創(chuàng)建和使用動態(tài)鏈接庫需要的文件,如 .def 和 .lib。
MinGW 原本是用于生成 32 位程序的,隨著 64 位系統(tǒng)流行起來, 從 MinGW 分離出來了 MinGW-w64 項目,該項目同時支持生成 64 位和 32 位程序。Qt 的 MinGW 版本庫就是使用 MinGW-w64 項目里面的工具集生成的。
如今, MinGW 現(xiàn)已被 MinGW-w64 所取代。感興趣的可以閱讀?win10:mingw-w64安裝教程
MSYS(Minimal SYStem)
由于ming-gw本身主要是編譯鏈接等工具和頭文件、庫文件,并不包含系統(tǒng)管理,文件操作之類的shell環(huán)境,這對希望用類Unix命令的開發(fā)者來說是不夠用的。所以MinWG官方又推出了MSYS(Minimal SYStem),相當(dāng)于是一個部署在Windows系統(tǒng)中的小型Unix系統(tǒng)環(huán)境,移植了很多Unix/Linux命令行和配置文件等,是對MinGW的擴展。
MSYS 對于熟悉 Unix/Linux 系統(tǒng)環(huán)境或者要嘗試學(xué)習(xí) Unix/Linux 系統(tǒng)的人都是一種便利。MSYS 和 MinGW 的安裝升級都是通過其官方的 mingw-get 工具實現(xiàn),二者是統(tǒng)一下載安裝管理的。
對于 MinGW-w64 項目,它對應(yīng)的小型系統(tǒng)環(huán)境叫 MSYS2(Minimal SYStem 2),MSYS2 是 MSYS 的衍生版,不僅支持 64 位系統(tǒng)和 32 位系統(tǒng),還有自己的獨特的軟件包管理工具,它從 Arch Linux 系統(tǒng)里移植了 pacman 軟件管理工具,所以裝了 MSYS2 之后,可以直接通過 pacman 來下載安裝軟件,而且可以自動解決依賴關(guān)系、方便系統(tǒng)升級等。裝了 MSYS2 之后,不需要自己去下載 MinGW-w64,可以直接用 pacman 命令安裝編譯鏈接工具和 git 工具等。
Qt工具集
| qmake | 核心的項目構(gòu)建工具,可以生成跨平臺的 .pro 項目文件,并能依據(jù)不同操作系統(tǒng)和編譯工具生成相應(yīng)的 Makefile,用于構(gòu)建可執(zhí)行程序或鏈接庫 |
| uic | User Interface Compiler,用戶界面編譯器,Qt 使用 XML 語法格式的 .ui 文件定義用戶界面,uic 根據(jù) .ui 文件生成用于創(chuàng)建用戶界面的 C++ 代碼頭文件,比如 ui_*****.h 。 |
| moc | Meta-Object Compiler,元對象編譯器,moc 處理 C++ 頭文件的類定義里面的 Q_OBJECT 宏,它會生成源代碼文件,比如 moc_*****.cpp ,其中包含相應(yīng)類的元對象代碼,元對象代碼主要用于實現(xiàn) Qt 信號/槽機制、運行時類型定義、動態(tài)屬性系統(tǒng)。 |
| rcc | Resource Compiler,資源文件編譯器,負(fù)責(zé)在項目構(gòu)建過程中編譯 .qrc 資源文件,將資源嵌入到最終的 Qt 程序里。 |
| qtcreator | 集成開發(fā)環(huán)境,包含項目生成管理、代碼編輯、圖形界面可視化編輯、 編譯生成、程序調(diào)試、上下文幫助、版本控制系統(tǒng)集成等眾多功能, 還支持手機和嵌入式設(shè)備的程序生成部署。 |
| assistant | Qt 助手,幫助文檔瀏覽查詢工具,Qt 庫所有模塊和開發(fā)工具的幫助文檔、示例代碼等都可以檢索到,是 Qt 開發(fā)必備神器,也可用于自學(xué) Qt。 |
| designer | Qt 設(shè)計師,專門用于可視化編輯圖形用戶界面(所見即所得),生成 .ui 文件用于 Qt 項目。 |
| linguist | Qt 語言家,代碼里用 tr() 宏包裹的就是可翻譯的字符串,開發(fā)人員可用 lupdate 命令生成項目的待翻譯字符串文件 .ts,用 linguist 翻譯多國語言 .ts ,翻譯完成后用 lrelease 命令生成 .qm 文件,然后就可用于多國語言界面顯示。 |
| qmlscene | 在 Qt 4.x 里是用 qmlviewer 進行 QML 程序的原型設(shè)計和測試,Qt 5 用 qmlscene 取代了舊的 qmlviewer。新的 qmlscene 另外還支持 Qt 5 中的新特性 scenegraph 。 |
Qt卸載
繼續(xù)下一步,確定就可以了
總結(jié)
以上是生活随笔為你收集整理的Qt:windows下Qt安装教程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【软件开发底层知识修炼】十六 快速学习G
- 下一篇: java信息管理系统总结_java实现科