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