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