簡介
Qt是跨平台的圖形開發庫,目前由Digia全資子公司 Qt Company 獨立運營,官方網址:
http://www.qt.io/
也可以訪問Qt項目域名:http://qt-project.org/
Qt本身支持眾多操作系統。從通用操作系統Linux、Windows,到手機系統Android、iOS、WinPhone,嵌入式系統支持QNX、VxWorks,應用非常廣泛。
基於Qt的軟件非常多,其中最知名的要數Linux桌面系統KDE(涵蓋無數以K打頭的應用軟件)。國內WPS for Linux版本、360 for Linux也是使用Qt庫開發的界面。只要有C++基礎,Qt是很容易學的,而且開發跨平台的程序也容易。目前主流使用的Qt庫有Qt4和Qt5兩個大版本,下面介紹其在Windows系統里的下載和安裝。
一、Qt4開發環境下載安裝
首先進入下載頁面 http://www.qt.io/download/
根據提示點擊選項。
最后點擊 “Get started”按鈕后,進入開源版頁面:
http://www.qt.io/download-open-source/
上面大按鈕Download Now是下載在線安裝版,其實只是一個下載工具,並不是真正的Qt開發庫。可以自己下載離線安裝包,注意頁面的“View All Downloads”,點開之后就能看到離線包。目前看到的全是Qt5.4.0版本的,那Qt4的在哪呢?
把上面頁面拖到最下面:
舊版本包就是最后一個鏈接:http://download.qt.io/archive/
打開之后可以看到四個目錄:vsaddin是VisualStudio集成插件,qtcreator是Qt官方的集成開發環境,qt就是各種新老版本下載位置,online_installers就是在線安裝工具。
在Qt4的時候,Qt開發環境包括3個基本部分:Qt Framework(Qt庫)、QtCreator(IDE)和MinGW(編譯調試),都要分別下載安裝並配置,比較麻煩。進入Qt5之后,Qt公司將三者打包成一個安裝文件,比如Qt5.4.0的離線安裝包,這樣方便許多。這里先講舊的Qt 4.8.6的開發環境下載安裝配置方式。
1、Qt 4.8.6下載
從剛才頁面進入目錄
http://download.qt.io/archive/qt/4.8/4.8.6/ 頭兩個是VS2010和VS2008編譯而成的Qt庫,第三個是MinGW版本Qt庫,就是要下載MinGW版本的來使用。dmg結尾的兩個是MacOS系統里使用的Qt庫,qt-everywhere-opensource-src-4.8.6是Qt源碼包,有zip和tar.gz兩個壓縮格式的,兩個內容是一樣的,只是zip一般在Windows下比較流行,tar.gz是Linux上流行的壓縮格式。md5sums-4.8.6是以上文件的校驗和,changes-4.8.6是Qt版本日志文件。
下載qt-opensource-windows-x86-mingw482-4.8.6-1.exe:
http://download.qt.io/archive/qt/4.8/4.8.6/qt-opensource-windows-x86-mingw482-4.8.6-1.exe
下載完成后不要着急裝,還有別的需要下載。
2、QtCreator下載
在http://download.qt.io/archive/qtcreator/頁面有一些舊版本的qtcreator可以下載,不過有新版還是用新版的好些。
進入剛才的 http://www.qt.io/download-open-source/ ,點開“View All Downloads”,找到
這里面講的很清楚,Qt5.4.0安裝包已經帶有QtCreator,如果是裝Qt5.4.0就不需要下載。我們裝4.8.6的,這里要下載“Qt Creator 3.3.0 for Windows (71 MB)”,
點擊下載即可。我們仔細看一下下載鏈接:
http://mirrors.hust.edu.cn/qtproject/official_releases/qtcreator/3.3/3.3.0/qt-creator-opensource-windows-x86-3.3.0.exe
這個其實用的是國內華中科大的軟件鏡像,我們可以嘗試進入:
http://mirrors.hust.edu.cn/qtproject/official_releases/
這個與Qt官方軟件源一樣,可以看到有
下軟件一定不要局限在一個文件鏈接上面,打開下載鏈接上層目錄可以找到一堆好東西的。自己打開各個子目錄看看:
①gdb是針對Android開發的調試器。
②jom可以百度一下,http://qt-project.org/wiki/jom ,是nmake克隆版,支持多條獨立命令並行構建軟件,加快軟件構建速度。
③online_installers是在線安裝器。
④Pyside是用於支持Python語言編寫Qt程序的。
⑤qbs是Qt Build Suite (QBS) ,http://qt-project.org/wiki/qbs,QBS是新創的Qt程序生成工具,因為Qt一般使用qmake來生成項目進行編譯,qmake必須根據qt版本變化而變化,不便於管理,qt開發者對qmake又愛又恨,因此創建了不依賴Qt版本的生成工具QBS。
⑥qt,當然是qt庫本身了,從4.8到5.4都有。
⑦qt-installer-framework,百度一下是什么,http://blog.csdn.net/cnsword/article/details/8740393,是專門用於發布開發好的程序用的,生成程序安裝器,可以為Linux、Windows、MacOS生成安裝器。Qt自己的QtCreator、QtSDK等安裝程序就是使用qt-installer-framework打包的。
⑧qtcreator是集成開發環境,從2.5到3.3版本都有。
⑨vsaddin,是針對VisualStudio的Qt開發插件。
上面啰嗦這么多,看起來不着邊際的東西,我為什么要講呢?
現在許多娃子腦子被教死了、教蠢了,下載文件也不看看鏈接,看了鏈接也不管是不是有別的資源可以下載利用。等到用的時候就問:舊版Qt 4去哪里下載?主頁怎么只有Qt5.4.0,上哪找Qt5.3.1?
這些都是不用腦子的低級問題。能下載到Qt 5.4.0版本,用屁股想一下,Q.5.3.1和Qt 4.8.6能有多遠呢?
很多資源都是放在一塊的,用心去看看下載鏈接上級目錄、搜一搜就出來的。
請記住:下載文件一定不要局限,學東西一定要有探索和發現的意識!
另外Qt軟件鏡像除了華中科大有,國內其他院校也是有的,中國科大的源還要快一些:http://mirrors.ustc.edu.cn/qtproject/
3、MinGW 4.8.2
為什么是4.8.2?我們下載的qt-opensource-windows-x86-mingw482-4.8.6-1.exe 里面的mingw482,就是指這個Qt庫使用MinGW 里面g++ 4.8.2版本編譯生成的,所以需要同樣版本的MinGW來編譯程序,避免其他新舊版本兼容之類的問題。
我們嘗試運行qt-opensource-windows-x86-mingw482-4.8.6-1.exe的時候(先不要裝,就看看),這個安裝程序自己就會提示去哪里找這個MinGW版本,而且這個MinGW不是官方原版:
是一個私人定制版,在sourceforge上面下載:
http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/4.8.2/threads-posix/dwarf/i686-4.8.2-release-posix-dwarf-rt_v3-rev3.7z/download
下載鏈接比較長,去sourceforge瀏覽該目錄可以看到:
http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/4.8.2/threads-posix/dwarf/
那個下載數目最多的就是Qt安裝包里面指出的文件鏈接,當然還有更新的修訂版,可以下載***rev3.7z也可以下載***rev4.7z,這里下載新的rev4:i686-4.8.2-release-posix-dwarf-rt_v3-rev4.7z
4、安裝
有三個文件,順序是這樣的,Qt庫需要MinGW,而qtcreator需要配置前面二者,所以先安裝MinGW,再安裝qt-opensource-windows-x86-mingw482-4.8.6-1,最后裝QtCreator。
(1)MinGW安裝
這個是綠色版的,直接解壓縮到C盤根目錄就行了,放到其他分區也是可以的。只要后面指定了正確位置就行了,這里解壓后路徑是:C:\mingw32,g++位置是C:\mingw32\bin\g++.exe。
(2)Qt庫安裝
運行qt-opensource-windows-x86-mingw482-4.8.6-1.exe,這個包比較大,解壓時間長一些,等一陣子會進入安裝界面:
點擊Next進入:
點擊Next進入協議同意頁面:
選擇accept協議條款,點擊Next進入組建選擇界面:
全部選中,然后點擊Next,進入目標目錄選擇:
如果C盤空間不夠就選別的分區,然后點擊Next進入開始菜單設置:
點擊Next進入MinGW選擇頁面:
設置正確的MinGW文件夾,如果路徑設置出錯點擊Install時會提示
這時候選擇“否”,重新設置正確的MinGW路徑,點擊Install之后會開始實際的安裝。等待安裝結束,取消下面兩個復選框再點Finish:
上面第一個是例子示范,第二個是Qt文檔。
在開始菜單里面Qt by Digia v4.8.6 (MinGW 4.8.2 OpenSource)就是Qt庫的快捷菜單項:
①Assistant,幫助文檔查看
②Designer,圖形化編輯ui文件,就是Qt的圖形界面設計程序
③Examples and Demos,Qt程序例子
④Linguist,國際化語言翻譯工具
⑤Qt 4.8.6 (Build Debug Libraries),創建Debug版本庫,這個可以不管。
⑥Qt 4.8.6 Command Prompt,Qt命令行開發環境設置,這個命令行工具會設置好Qt位置和MinGW位置,可以從命令行編譯C++和Qt程序。
⑦Qt Readme,自述文件,描述Qt信息
⑧qt.digia.com,Qt官網鏈接
⑨Uninstall Qt OpenSource 4.8.6,卸載Qt庫。
點開Qt 4.8.6 Command Prompt,可以嘗試運行命令看看版本信息:
g++ –version
qmake –version
這個命令行工具對應命令是:
%COMSPEC% /k “C:\Qt\4.8.6\bin\qtvars.bat”
也就是說,如果想自己配置MinGW版本和Qt庫,可以學習 qtvars.bat 文件來編寫自己的 bat文件比如
@echo off
rem
rem This file is generated
rem
echo Setting up a MinGW/Qt only environment…
echo – QTDIR set to C:\Qt\4.8.6
echo – PATH set to C:\Qt\4.8.6\bin
echo – Adding C:\mingw32\bin to PATH
echo – Adding %SystemRoot%\System32 to PATH
echo – QMAKESPEC set to win32-g++-4.6
set QTDIR=C:\Qt\4.8.6
set PATH=C:\Qt\4.8.6\bin
set PATH=%PATH%;C:\mingw32\bin
set PATH=%PATH%;%SystemRoot%\System32
set QMAKESPEC=win32-g++-4.6
%COMSPEC% /k
上面第一段是關閉命令回顯,表示執行命令時不打印命令。
第二段是顯示想要顯示的信息,打印了五行。
第三段是真正的設置環境變量的命令,就是提示的五條:
QTDIR指示Qt 4.8.6根目錄,中間三句設置PATH,包括Qt工具bin路徑、MinGW bin路徑和操作系統的System32路徑,QMAKESPEC是指編譯Qt程序的目標平台。
%COMSPEC% /k 就是cmd.exe執行命令后繼續保持運行的意思。
(3)QtCreator安裝
如果想從命令行編譯Qt程序,上面環境已經夠了。當然現在都是可視化開發的,就要裝QtCreator集成開發環境,因為QtCreator使用起來方便快捷。
運行qt-creator-opensource-windows-x86-3.3.0.exe,
點擊“下一步”,進入目錄指定界面:
設置安裝位置后點“下一步”,進入許可同意界面:
選擇接受許可,點擊“下一步”:
點擊“下一步”,
點擊安裝,
點擊“下一步”,
點擊“完成”,會打開QtCreator:
(4)QtCreator配置
因為QtCreator還沒有配置,這時候是不能編譯程序的。
打開QtCreator菜單“工具”–>“選項”,在對話框左邊選“構建和運行”:
編譯Qt程序必須配置好幾個東西才行,需要配置的是:
構建套件(Kit)、QtVersions、編譯器、Debuggers。
①Debuggers
點擊Add,進入新的Debugger設置界面:
把Name設為GDB,然后點擊Path一行最右邊的“瀏覽”,找到gdb.exe的位置,
設置好后點擊右下角的“Apply”,就設置了調試器。
②編譯器
點擊右邊“添加”,彈出菜單有MinGW、GCC、Clang、Custom和QCC,選擇MinGW,
名稱設為MinGW,對於編譯器路徑設置,就瀏覽找到g++.exe,設置好這兩條就夠了,然后點擊右下角“Apply”。
③Qt Versions
點擊“添加”,彈出的文件查找框,是要選擇qmake.exe位置,之前裝的位置是:
C:\Qt\4.8.6\bin\qmake.exe,選中qmake.exe
點擊打開,然后Qt版本會自動檢測:
點擊“Apply”就配置好Qt庫了。
④構建套件(Kit)
之前配置的三個最后都是為構建套件服務的,需要在這里面選擇之前配好的三個:編譯器選擇“MinGW”、調試器選擇“GDB”、Qt版本選擇“Qt 4.8.6(4.8.6)”,Qt mkspec可以不用管,因為qmake.exe可以自動定。配置好編譯器、調試器和Qt版本之后,點擊“Apply”,再點擊“OK”。終於配置好了。
然后就可以新建一個項目,選擇“Qt Widgets Application”,都用默認的項目設置,一直點擊下一步,然后點“完成”,看到代碼:
點擊左下角倒數第三個圖標,就是純三角形那個:
程序就能正常編譯跑起來了。
二、Qt 5.4.0 下載和安裝
看完上面Qt4開發環境的安裝配置,相比之下Qt 5.4.0安裝(不需要配置)就特別簡單了。就是一個傻瓜包,注意選擇組件時把組件全部選中,然后一直點“下一步”就完事了。下面簡單介紹一下。
1、下載Qt5.4.0開發環境
http://www.qt.io/download-open-source/
點開“View All Downloads”,找到“Offline Installers”離線安裝包,
有Linux、MacOS和Windows的,關於Windows系統里Qt安裝包:
頭兩個是VS2013 64位版本的Qt庫,有OpenGL版本和非OpenGL版本,OpenGL版本就是指底層繪圖用OpenGL驅動,非OpenGL底層是用DirectX驅動來繪圖。第三、第四個是VS2013 32位版本,第五個第六個是VS2012和VS2010的Qt庫。需要注意的是微軟VS2012之后編譯的程序默認沒法在WindowsXP上面跑(可以打補丁支持XP)。不推薦使用Visual Studio開發Qt程序,因為VS沒有Qt Creator好用,VS還總是有莫名其妙的問題出現。
最好的就是下載 Qt 5.4.0 for Windows 32-bit (MinGW 4.9.1, 852 MB) 。
下載列表第八個是針對Android開發的(比較麻煩,網上有教程)。
第九個是針對Windows RT操作系統(一般用在Windows平板電腦)的Qt庫。
下載MinGW版本Qt文件是:
qt-opensource-windows-x86-mingw491_opengl-5.4.0.exe
運行后等待exe文件自己啟動和解壓,這需要的時間可能比較長,因為文件很大。
2、安裝
點擊下一步,
點擊下一步,進入組件選擇界面:
這里要注意要把東西全部勾選上,圖里面第一個MinGW 4.9.1是指用采用MinGW編譯而成的Qt庫,第二個MinGW才是真正的編譯調試環境。
全部選擇后點擊下一步:
選擇agree然后點擊下一步:
點擊下一步:
點擊安裝,等待安裝好,點擊“完成”。
因為安裝包把東西都帶齊了,所以可以直接使用QtCreator新建、編譯、生成程序。如果本機存在多個Qt構建套件,在新建項目時,Kit Selection:
可以選擇多個Qt構建套件,不同套件會生成不同程序。編譯時在左下角點開Debug或Release字樣,可以選擇不同的Qt庫生成各自的Debug版程序或Release版程序。
三、開發好的可執行程序如何發布
一般用Qt官方開發環境,生成的exe都是動態鏈接版本,如果要放到其他電腦上運行,需要復制一大堆依賴的dll,而且數量比較多,是個麻煩。
如果想用一個exe干凈利落的發布程序,就需要使用靜態編譯版的Qt庫,網上有教程,我就不多說了,可以教大家用現成的,在Git-hub上正好有靜態Qt庫:
https://github.com/fostersoftware/QtStaticWindows
https://github.com/fostersoftware/QtStaticLinux
第二個是Linux的,Windows系統下載第一個QtStaticWindows,最好使用git工具來下載,新建一個QtSatic文件夾,在該文件夾里執行:
git clone https://github.com/fostersoftware/QtStaticWindows.git
下載完成后,添加Qt靜態庫的方法參考第一部分的4.(4)QtCreator配置,只需要在QtCreator里面添加新的 Qt Version和新的構建套件(Kit)。
注意上面的只有Release版本Qt庫,所以要在使用Qt官方的動態庫版開發調試完成之后,最后使用靜態Release版Qt庫生成獨立的exe程序,就可以放到其他機器上跑了。