1. 程式人生 > >Qt4及Qt5的下載、安裝和使用

Qt4及Qt5的下載、安裝和使用

最近找Qt的安裝方法是真的煩。網上太多版本,Qt官網更新了,找不到下載地方(收錢)。終於找到一個完整版了

http://www.cnblogs.com/lxmwb/p/6352220.html

導語:

    Qt是一個跨平臺的C++圖形介面應用程式框架。它提供給開發者建立圖形使用者介面所需的功能,廣泛用於開發GUI程式,也可用於開發非GUI程式。Qt很容易擴充套件,並且允許真正地元件程式設計。基本上,Qt同X Window上的Motif,Openwin,GTK等圖形介面庫以及Windows平臺上的MFC、OWL、VCL、ATL是同類型的東西。

    本系列教程以Qt5.6為基礎展開精講。

    參考書目:

             【1】霍亞飛.Qt Creator快速入門(第3版).2017年

             【2】蔡志明.精通Qt4程式設計.2008年

             【3】普拉達.C++ Primer Plus(第6版).張海龍 譯.2012年

    學習建議:

          我認為Qt是為喜愛C++的人準備的“PhotoShop”,如果你沒有C++基礎,那麼你在看完《C++ Primer》這本書後再來看這片教程可能會讓自己更舒服一些。

          您C++學的不好怎麼辦?沒關係,做事走心比什麼都重要。學習過程中越是用心,就越覺得自己C++基礎不行,越想去複習C++,越複習C++,就越想學圖形介面,死迴圈。。。。哈哈,不廢了,步入正題吧!

正文:

安裝Qt4方法

安裝準備:1.qt-opensource-windows-x86-mingw482-4.8.6-1.exe(qt庫檔案)

       2.qt-creator-opensource-windows-x86-4.2.0.exe(IDE)

       3.i686-4.8.2-release-posix-dwarf-rt_v3-rev3.7z(wingw編譯器,非常重要,安裝成功與否靠它了)

       4.qtcreator-gdb-7.4-MINGW32_NT-6.1-i686.tar.gz(gdb偵錯程式)

                  注意:這個

Qt在XP和win7均能正常使用的!

開始安裝

步驟一:

          先把所有的壓縮包解壓出來,然後把(一定要是對應的版本,見說明1)i686-4.8.2-release-posix-dwarf-rt_v3-rev3.7z解壓出來的mingw32資料夾剪下到C盤中。gdb資料夾同理。注意:一定要記得mingw32資料夾和gdb資料夾解壓到了哪裡,因為後續安裝需要指定此資料夾位置!(我解壓到C:\Qt

clip_image002[9]

步驟二:

        (1)點選qt-opensource-windows-x86-mingw482-4.8.6-1.exe進行安裝,這是一個類庫來的,下面就等一下吧!

              clip_image003[5]

        (2)load完之後一直按next就行了。最後來到某個介面,你直接按install就行了,接著就是漫長的等待,中間會有一個選擇編譯器的介面,選擇我們剛剛解壓出來的mingw32資料夾,千萬不要選錯。注意:這個Qt所有的東西都要安裝在C盤,不要隨意更改路徑,佔你2G而已,否則的話可能安裝不成功的,本人沒有實驗過,如果你有興趣可以試一下。

            clip_image005[6]

  (3)吃了個蘋果,剛剛裝好。先不要開啟它,把那兩個選項去掉它,然後按一下finish,因為下面還有一些事情要做。

clip_image007[6]

步驟三:

    (1)點選qt-creator-opensource-windows-x86-4.2.0.exe把creator安裝了,其實這只是一個開發環境而已,簡單來說就是一個編寫程式碼的地方,就像visual C++ 6.0一樣。其實不用這個環境,用VS也可以的,大家有興趣可以嘗試一下。

             clip_image009[7]

      (2)還是那句話,直接按next,出現登陸賬戶就skip就行,都保持預設即可,在最後的介面,不要把勾去掉,按finish,然後creator就啟動了。

           clip_image011[6]

步驟四:

      (1)現在還不能用的,要設定一下環境變數。首先依次點選工具和選項,然後就跟著圖片的編號去做

clip_image013[6]

     (2)按了新增之後就會彈出一個對話方塊來,是用來選擇qmake途徑的,我們可以依次選擇C盤,Qt,4.8.6,bin, qmake.exe就行了。不會選擇的話可以看一下圖片紅線處的路徑。(這種選法只能在你沒有更改路徑的情況下用)

clip_image015[6]

(3)配置編譯器,操作:編譯器->新增->MinGw->C++。

clip_image017[6]

(4)按完MinGW後,在編譯器路徑那裡選擇路徑:  C:\Qt\mingw32\bin\g++.exe,然後點選開啟就行了.同理可以配置C編譯器,只是g++.exe換成了gcc.exe(見說明2)。

clip_image019[5]

(5)最後到“構件套件(Kit)”中,可以看到已經有一個“桌面(預設)”,這裡雙擊它直接進行設定,名稱可以隨意設定;下面編譯器一項選擇前面設定的MinGW;最後Qt版本選擇前面新增的即可,因為偵錯程式還沒有配置,所以偵錯程式一項再配置了之後就可以選擇了。為了以後除錯模式進行程式除錯,這裡需要指定偵錯程式。然後回到Qt Creator中繼續設定,單擊偵錯程式項(Debugger)項“新增”,路經為C:\Qt\qtcreator-gdb-7.4-MINGW32_NT-6.1-i686\gdb-i686-pc-mingw32.exe

clip_image021[5]

到此,Qt4.8.6基本配置完畢!

安裝Qt5方法

安裝準備:1. qt-opensource-windows-x86-mingw492-5.6.1.exe

開始安裝

步驟一:

(1)點選qt-opensource-windows-x86-mingw492-5.6.1.exe進行安裝。

clip_image002[11]

(2)之後一直按next,到下面這個介面後全選(如果你的硬碟不夠大,則在預設的基礎上加上Tools裡的MinGw4.9.2即可),再“下一步”,最後安裝即可!

clip_image004[4]

(3)玩了兩局三國殺,剛剛裝好,點選確定即可開啟Qt Creator,盡情參觀吧!

clip_image006[4]

到此,Qt5.6算是安裝完畢,而且都是已經配置好的,就不用咱們自己動手了。不過我們還是親自去看看吧。

步驟二:

(1) 瞧!一切已備,只欠東風啦。(工具-選項-構建和執行-構建套件)

clip_image008[4]

(2) 我們再看一下5.6的安裝目錄的目錄結構:

clip_image010[4]

(3) 那些例項都在Qt Creator裡面有顯示,點選後會開啟原始檔以及關於本例的介紹。如果你想執行一個示例程式看看,那麼開啟示例專案後點擊左下角的綠色三角或者Ctrl+R即可執行示例(需要等幾秒,右下角會有編譯進度條)。

clip_image012[4]

(4) 所有已安裝的與Qt有關的應用都已經在“開始選單”裡面構建了資料夾,箭頭指向的是Qt的終端介面,以後需要用到!

clip_image014[4]

(5) 開啟上圖的資料夾中Assistant,這是Qt小助手,Qt中所有用到的類在這裡面都有介紹,也是常用的東西之一。

clip_image016[4]

(6) 好,暫且介紹到這裡,關於這幾個工具的詳細介紹請參照《Qt Creator快速入門》的第一章。先對軟體熟悉一下是好事哦,不要想著現學現用,重要的是跟Qt的這幾個工具培養感情。


Qt的建立執行和釋出

文章整體思路:

我們循序漸進地來看,一個Qt應用的完成有以下一個重要的步驟:

專案建立->原始碼編譯->程式執行->釋出程式

主體內容將按照下圖中所示路線進行闡述:

分上、下兩路,最後共同匯聚到一起進行“應用釋出”的講解,好的,閒話不多聊,我們上路吧!

上一路:Qt Creator建立、編譯、執行專案  

注意:不要小瞧Hello World哦!

執行Qt Creator後:

步驟一:新建專案

(1)檔案->新建檔案或專案,彈出一個對話方塊,我們選擇Application專案中的Qt Widgets Application。

(2)輸入專案名稱:helloworld,然後點選“瀏覽”按鈕來選擇原始碼存放路徑,比如我這裡是E:\codeTest\qtCreator_2,如果選中了“設為預設的專案路徑”,那麼今後建立的專案都將存放在這裡。單擊“下一步”。注意:專案所在路徑中不能有中文,否則程式執行報錯,例如:C:\你好\qtCreator_2

(3)選擇構建套件:DeskTop Qt 5.6.7.1 MinGw 32bit,點選詳情按鈕可以看到  預設為Debug版本和Release版本分別設定了不同的目錄,Debug即為除錯版本,Release為可釋出版本。都保持預設即可,單擊“下一步”。

(4)自定義類名:設定類名為 HelloDialog,基類選擇 QDialog ,單擊”下一步“。這表明該類繼承自 QDialog類,使用這個類可以生成一個對話方塊介面,Qt框架中所有的類都是以‘Q’開頭的。

(5)設定專案管理:在這裡可以看到這個專案的彙總資訊,還可以使用版本控制系統,這裡不會涉及,直接單擊”完成“即可。

(6)右擊專案檔案列表中的任一檔案,點選”在Explorer中開啟“,就可以轉到專案資料夾,讓我們來看看專案目錄中的各個檔案說明

步驟二:介面設計

(1)在Qt Creator編輯模式下雙擊專案檔案列表中介面檔案分類下的hellodialog.ui檔案,便會進入設計模式。

(2)關於設計模式的介面介紹這裡就不再贅述,可以翻看《Qt Creator快速入門》第二張檢視。不過我覺的這些介紹都多餘,正常人都明白,介面標註的很清晰。

(3)在控制元件區尋找一個”Label“標籤部件,將它拖拽到主設計區的介面上,雙擊進入它進入部件進入編輯狀態後輸入”Hello World!我是Qter!“字串。還可以再拖拽一個”PushButton“按鈕部件到標籤下方,編輯按鈕上文字為”OK",如下圖所示:

步驟三:編譯並執行程式

(1)Ctrl+R組合鍵相當於左下角第一個綠色三角按鈕(編譯執行),按下後程序開始編譯,右下角還有一個可視的進度條。

(2)如果前面操作沒有錯誤,那麼這時我們製作的helloWorld應用程式已經執行起來了,而Qt Creator下方彈出了“應用程式輸出”框,在這裡有一個紅色的方塊按鈕可以終止程式執行,也可以直接X掉HelloWorld視窗。

(3)是不是很開心,是不是很激動了,下面我們來看看用“Qt 5.6 for Desktop (MinGW 4.9.2 32 bit)”怎麼命令列構建專案吧。注意:Qt 5.6 for Desktop (MinGW 4.9.2 32 bit)就是我一直說的Qt終端,在開始選單可以找到它!

下一路:命令列建立、編譯、執行專案  

步驟一:命令列編譯ui檔案並建立專案.pro檔案

(1)新建資料夾作為專案資料夾,我建在了E盤根目錄,資料夾名稱hello。注意:路徑中不能有中文。

(2)將那會用Creator建立的專案中的main.cpp檔案和hellodialog.ui檔案複製hello資料夾中。

(3)開啟Qt 5.6 for Desktop (MinGW 4.9.2 32 bit),執行“e:&&cd e:\hello"切換到hello目錄。

(4)編譯ui檔案。使用uic編譯工具,從ui檔案生成標頭檔案。具體命令是:

              uic -o ui_hellodialog.h hellodialog.ui

(5)這時,專案資料夾中就生成了以ui開頭的標頭檔案,可以用”notepad ui_hellodialog.h“命令檢視其具體內容。

注:ui檔案是用xml語言描述的介面檔案,即我們在QtCreator設計模式中拖進去的那些部件組成的介面。此步驟的工作就是將ui檔案轉化成mingw編譯器能看懂的.h標頭檔案而已。

步驟二:構建專案.pro檔案

(1)使用”qmake -project“命令來生成pro工程檔案,這時可以看到hello目錄中已經生成了hello.pro檔案,此檔案與專案資料夾hello同名。(關於qmake工具,見說明2

(2)使用”notepad hello.pro"命令開啟hello.pro檔案,在最後面新增一行程式碼:

                      QT += widgets

按下Ctrl+S儲存該檔案。這行程式碼的意思是:需要新增widgets模組。因為原始檔中使用到的類都包含在這個模組中,例如:main函式中用到的QApplication類。如果你的Qt版本是Qt4,包含這個模組可能會出錯,所以為了保證與Qt4的相容性,建議使用以下的方式:

                    greaterThan(QT_MAJOR_VERSION,4): QT += widgets

意思是:如果Qt的版本大於4那麼就新增widgets模組。注意儲存!

步驟三:命令列編譯生成exe

(1)命令列輸入:qmake,生成用於編譯的Makefile檔案。qmake之後生成共了三個檔案、兩個目錄:

Dir

      debug

      release       // 後面編譯後的exe檔案在這裡面

File:

      Makefile     // 包含了編譯資訊

      Makefile.Debug

      Makefile.Release

(2)輸入“mingw32-make"命令來編譯程式,編譯完後會在release目錄中出現helloworld.exe檔案。(若想編譯debug版本,只需要更改命令為:mingw32-make -f Makefile.Debug)。

(3)執行程式檢視:.\release\hello.exe,程式完美執行!

 (此步驟需注意:qmake編譯.pro檔案,mingw32-make按Makefile中內容編譯。)

匯合:    

上面我們共分了上、下兩路來分別闡述Qt Creator和命令列各自構建專案的方法,中途我們來個小總結:

1. 理解ui檔案的作用,掌握命令列將ui檔案轉化為.h檔案的方法(uic)。

2. Qt Creator建立專案的步驟。(Qt4和Qt5大同小異)

3. 命令列所有操作一定是要在專案資料夾中,例如這裡的hello專案。

4. 掌握qmake工具的使用,在之後純程式碼實現HelloWorld的時候要用到。

5. 生成專案檔案後,注意加 QT+=widgets。(多數編譯不成功的原因都在這裡!

6. 上面我們用到了一些常用的doc命令,例如cd、dir等等,若是對此有疑惑,還請積極查閱資料,多掌握一些doc命令可以增加工作效率也說不定哦!

7. 以上內容我們總共提到了兩種執行.exe的方式:QtCreator中Ctrl+R  和  命令列(必須是Qt 5.6 for Desktop)中.\release\hello.exe的形式。

除了以上兩種方式外,還可以到專案工程資料夾中release中找到hello.exe雙擊執行,此時彈出錯誤提示框告訴你dll檔案缺失,解決方法放在 說明1 中,自行檢視即可!

細心的同學可能會發現我們執行的程式都沒有圖示ICO下面我們講程式釋出:

程式的釋出     

已經提到過編譯的時候有兩種方式:debug和release,區別就是debug生成的檔案相對特別大,不防比較一下:

前面Qt Creator建立的helloworld專案執行後,預設在helloworld的父目錄中建立了build-helloworld-Desktop_Qt_5_6_1_MinGW_32bit-Debug資料夾,所有的輸出檔案都在這裡,exe檔案就在debug中,發現是1M左右

然後我們之前命令列編譯出來的exe預設是release版,去看一看,啊哈!才24K!差距啊!當然你願意釋出大一些的我也不介意!

哦,還要告訴你兩個版本的exe雙擊後提示缺少的dll檔案也是不一樣的,實驗證明debug版本需要的dll檔案都是非常大的有的就幾百兆,所以說別想了兄弟。

好,我們確定了release版本最利於釋出,所以我們就用release版本開始以下步驟:

步驟一:設定應用程式圖示(ICO)

在Qt Creator中開啟helloworld專案,在左下角目標選擇器中將構建目標設定為Release,Ctrl+R執行!

(1)先去製作一個ico字尾的圖示檔案吧,沒有怎麼辦!不慌,找一張覺著漂亮的圖片,點選此處連結:線上生產圖示,進去後製作圖示重新命名為”myico.ico“,圖示檔案儲存到專案根目錄中。

(2)修改專案檔案。在Qt Creator中雙擊helloworld.pro檔案,在最後新增下面一行程式碼:

                                   RC_ICONS = myico.ico

(3)以release方式執行程式,看看是不是有圖示了呢?

步驟二:建立程式資料夾

此時建立的程式直接雙擊執行會彈出錯誤框哦!還需要做以下處理才能發給別人用!

(1)新建一個資料夾,盛放程式釋出要用的dll檔案和exe可執行程式。我這裡是 e:\App,並將exe檔案複製進去,exe檔案在 與工程目錄同級的目錄中(即e:\codeTest\qtCreator_2\build-helloworld-Desktop_Qt_5_6_1_MinGW_32bit-Release\release\中)。

(2)在Qt安裝目錄中的bin資料夾中找到缺失的dll檔案。例如:本程式需要複製bin目錄("Qt\Qt5.6.1\5.6\mingw49_32\bin")中的libgcc_s_dw2-1.dll、libstdc++-6.dll、libwinpthread-1.dll、Qt5Core.dll、Qt5Gui.dll和Qt5Widgets.dll這六個檔案。

(3)另外,還需要將Qt\Qt5.6.1\5.6\mingw49_32\plugins\platforms這個資料夾複製過去,裡面只需保留qwindows.dll檔案即可!

(3)這次雙擊exe檔案是不是可以運行了呢!(也可通過命令列完成以上操作,見說明1.①

步驟三:打包資料夾,釋出!

(1)App資料夾現在有19M,將App資料夾壓縮起來,看看多大:

(2)大概有6M,可以接受這個大小的話就去分享給其他人吧!

到此,整個專案釋出過程就結束了。此篇文章也已經接近尾聲,我祝願大家雞年快樂!

說明:   

1. 雙擊exe後無法開啟,除了將缺失的dll檔案全部複製到exe所在目錄的方法外還有下面兩種方式:

       ①在不知道需要哪些dll檔案情況下可以使用windeployqt命令來讓計算機幫你自動複製。啟動Qt 5.6 for Desktop命令工具後執行以下命令即可:(將e:\App換成你的exe所在資料夾路徑)

                   windeployqt e:\App

       ②不復制dll檔案,將Qt\Qt5.6.1\5.6\mingw49_32\bin目錄新增至PATH環境變數(注意釋出程式時需要複製dll)。

       方法:桌面-右擊此電腦-選擇屬性-高階系統設定-環境變數-雙擊PATH進入編輯狀態-新增bin路徑(win7使用者注意加分號)

2. qmake是Qt提供的一個編譯工具,他可以生成與平臺無關的.pro檔案,然後利用該檔案生產與平臺相關的Makefile檔案。Makefile檔案中包含了要建立的目標檔案或可執行檔案、建立目標檔案所依賴的檔案和建立每個目標檔案時需要執行的命令等資訊。最後使用mingw32-make工具來完成自動編譯,mingw32-make就是通過讀入Makefile檔案的內容來執行編譯工作的。使用mingw32-make命令時會為每一個原始檔生成一個對應的.o目標檔案,最後將這些目標檔案進行連結來生成最終的可執行檔案。與vc++6.0執行程式時編譯、連結、執行三個按鈕相似。

最後值得注意的是Qt的所有資料夾忌中文!!