「Qt入門第1篇」 基礎(一)Qt開發環境的搭建和hello world

導語

從這一篇我們正式開始Qt程式設計。本篇主要講解Qt程式設計環境的搭建。為了適應大多數讀者的需要,同時為了避免系統環境的不同而產生不必要的問題,這裡選擇使用Windows系統的Qt版本。因為在前面幾十篇中我們主要講解基本Qt控制元件專案的桌面程式設計,所以沒有使用SDK進行安裝,而是採用了Qt庫與Qt Creator分別下載安裝的方式,這樣就只需要下載Qt的桌面版本的庫。而SDK中預設集成了Qt Creator和Qt桌面庫以及Qt移動開發的庫,這個會在第40篇至第50篇進行講解。再者,鑑於Qt一次編寫程式碼,多次編譯執行的特點,在我們教程中講解的例子都是可以直接在其他系統環境下(比如Linux系統)直接編譯執行的。

環境:Windows 7 + Qt 4。8。1+ Qt Creator 2。4。1

目錄

一、Qt 及 Qt Creator的下載和安裝

二、建立hello world程式

三、釋出程式

四、Qt工具介紹

五、附錄

正文

一、Qt 及 Qt Creator的下載和安裝

1.下載

(已過時)

下載Qt 4。8。1:ftp://ftp。qt-project。org/qt/source/qt-win-opensource-4。8。1-mingw。exe

下載Qt Creator2。4。1:ftp://ftp。qt-project。org/qtcreator/qt-creator-win-opensource-2。4。1。exe

最新下載地址:(已過時)

所有版本的Qt下載地址:ftp://ftp。qt-project。org/qt/source/

所有版本的Qt Creator下載地址:ftp://ftp。qt-project。org/qtcreator/

最新下載地址:http://download。qt-project。org/

其中snapshots裡面包含了最新測試版本;official releases裡面包含了官方釋出版,即最終釋出版; archive裡面是Qt4。7及以前版本,Qt Creator2。5及以前版本。

更新 (2013-5-1 已過時)

提示:在最近的Qt Creator版本(2。5。0及以後)中已經預設不再包含MinGW,需要自己手動下載安裝。可以在這裡下載。(注:最新的Qt 5版本中已經預設包含了Qt Creator和MinGW,需根據自己實際情況操作。

官方原文如下:

Notefor Windows MinGW Users

Wedecided to remove the custom MinGW distribution and MinGW gdb from our QtCreator-only Windows binary distribution package。 The original reas toinclude it there (it was the predecessor of the Qt SDK) are since a while nowfilled by the Qt SDK。 Also, updating the shipped version is a legal hassle aslong as the binaries are provided through Nokia, but we also don’t want to shipstone age versi。 We are working on build infrastructure for the Qt Projectitself though, that we ultimately want to use to build Qt Creator packages,snapshots, and more。 Currently, on http://builds。qt-project。org , you find QtCreator snapshots for Linux and Windows, and also a Python enabled MinGW gdb(that reportedly doesn’t work on Windows XP)。 It’s still possible to installMinGW and gdb separately and register them in Qt Creator。 Weare not removing the support for it from Qt Creator。

Previouslyshipped MinGW: ftp://ftp。qt。nokia。com/misc/MinGW-gcc440_1。zip

Previously shipped MinGW gdb: ftp://ftp。qt。nokia。com/misc/gdb/7。2/qtcreator-gdb-7。2-mingw-x86。zip

Upto date MinGW: http://www。mingw。org (we might provide acompact version like the one in the old installer later)

Python enabled MinGW gdb 7。4: http://builds。qt-project。org/job/gdb-windows/ (compiledon Windows 7, doesn’t work on Windows XP)

更新:2014-10-1

在安裝Qt 4。8。6及以後的Qt 4版本時,應該按照安裝時的提示來下載相應版本的MinGW,不然編譯程式無法執行。例如Qt 4。8。6安裝時的提示如下圖。

「Qt入門第1篇」 基礎(一)Qt開發環境的搭建和hello world

可以直接點選提示給的連結來下載。也可以從這裡下載。

更新:(關於Qt 4。8搭配Qt Creator 2。5以後版本的MinGW和無法除錯的情況,2013-7-1)

注意:Qt 5以後版本預設包含了所有需要的工具,不存在這裡的情況,直接下載安裝即可使用!

1.MinGW

如果是Qt 4版本,需要使用GCC 4。4,也就是MinGW需要是4。4版本的,其他新的版本均不可用。

下載:http://pan。baidu。com/share/link?shareid=1521902020&uk=2352291552

備用地址:http://builds。qt-project。org/job/mingw32-windows/lastSuccessfulBuild/artifact/mingw32-qtproject。7z

2.偵錯程式GDB

在Qt 4。8版本,需要下載並指定GDB才能正常除錯。

下載地址:http://origin。releases。qt-project。org/gdb/ 或到 社群下載頁面進行下載

從這裡面根據自己的系統來下載合適的版本。

下載完MinGW和GDB以後,將其解壓到Qt的安裝目錄中,比如這裡都解壓到了C:\Qt目錄中。

3.在Qt Creator中的設定。我們需要先在編譯器中新增並制定gcc的路徑,例如

C:\Qt\mingw32\bin\gcc。exe

如下圖所示:

「Qt入門第1篇」 基礎(一)Qt開發環境的搭建和hello world

然後在Qt版本中新增並指定qmake的路徑,如下圖所示。

「Qt入門第1篇」 基礎(一)Qt開發環境的搭建和hello world

最後在構建套件中新增並指定編譯器、偵錯程式和Qt版本。如下圖所示。

「Qt入門第1篇」 基礎(一)Qt開發環境的搭建和hello world

2.安裝

下載完成後先安裝QtCreator,採用預設選項即可,安裝路徑推薦使用預設的C盤,因為這樣可以與教程中的一致,在以後的內容中可以避免一些不必要的問題。然後安裝Qt庫,當在選擇mingw目錄時,需要設定為前面安裝的Qt Creator目錄下的mingw目錄。如下圖所示。

「Qt入門第1篇」 基礎(一)Qt開發環境的搭建和hello world

二、建立hello world程式

1.執行Qt Creator 從桌面上的快捷方式開啟Qt Creator,進入眼簾的是Qt Creator的歡迎介面。如下圖所示。

「Qt入門第1篇」 基礎(一)Qt開發環境的搭建和hello world

Qt Creator分為了七個模式:歡迎模式、編輯模式、設計模式、除錯模式、專案模式、分析模式和幫助模式,分別由左側的七個圖示進行切換,對應的快捷鍵是

Ctrl +

數字1到7。現在顯示的就是歡迎介面,這裡可以看到一些入門教程、開發的專案列表、Qt提供的示例程式,也可以建立或開啟一個專案。

2.建立專案

我們使用歡迎頁面上方的“建立專案”按鈕來建立新的專案(當然也可以在檔案選單中建立專案)。在專案模板中選擇Qt 控制元件專案,然後選擇QtGui應用,這樣便會生成一個一般的桌面Qt圖形介面專案,如下圖所示。其他專案的建立會在後面的教程中講到。

「Qt入門第1篇」 基礎(一)Qt開發環境的搭建和hello world

然後更改專案名稱和路徑,這裡名稱可以設定為

helloworld

,注意名稱和路徑上都不要有中文。如下圖所示。

「Qt入門第1篇」 基礎(一)Qt開發環境的搭建和hello world

點選下一步後,會彈出目標設定對話方塊,這裡顯示沒有有效的Qt版本,並提示需要在工具/選項選單中進行設定。如下圖所示。下面我們就來新增Qt版本。

「Qt入門第1篇」 基礎(一)Qt開發環境的搭建和hello world

3.關聯Qt庫

因為我們這裡是分別下載Qt Creator和Qt庫的方式,所以安裝後它們並沒有關聯,這樣是無法編譯程式的。下面在Qt Creator中關聯Qt庫。開啟工具→選項選單,然後選擇“構建和執行”一項,再進入Qt版本選項卡。如下圖所示。

「Qt入門第1篇」 基礎(一)Qt開發環境的搭建和hello world

我們可以手動設定Qt版本的關聯,現在點選右上角的“新增”按鈕,然後會讓選擇

qmake。exe

檔案,我們在Qt(不是Qt Creator)安裝目錄的bin目錄中找到該檔案並開啟。如下圖所示。

「Qt入門第1篇」 基礎(一)Qt開發環境的搭建和hello world

現在已經預設生成了版本資訊,我們點選確定按鈕即可。如下圖所示。

「Qt入門第1篇」 基礎(一)Qt開發環境的搭建和hello world

當設定完Qt版本,再次回到歡迎介面後,可以發現“演示和範例”中已經顯示出了各種示例程式,大家可以開啟自己需要的一個例子。這個我們先不進行講解,下面繼續來完成hello world程式。

「Qt入門第1篇」 基礎(一)Qt開發環境的搭建和hello world

4.完成hello world專案

還按照前面的流程建立專案,在目標設定頁面預設選擇為了桌面Qt版本,因為現在我們只關聯了這一個桌面版本的Qt庫,所以只能編譯為桌面程式。如下圖所示。這裡可以選中“使用影子構建”,這樣編譯生成的檔案會和原始碼分別存放,這個在下面的內容中會看到。

「Qt入門第1篇」 基礎(一)Qt開發環境的搭建和hello world

點選下一步,在顯示的類資訊中將基類選擇為

QDialog

,就是說我們將程式設定為了一個對話方塊,然後將類名更改為

MyDialog

。如下圖所示。

「Qt入門第1篇」 基礎(一)Qt開發環境的搭建和hello world

再點選下一步進入彙總頁面,這裡可以選擇版本控制系統,我們這裡沒有用到,所以不進行設定,點選完成按鈕來完成專案的建立。如下圖所示。

「Qt入門第1篇」 基礎(一)Qt開發環境的搭建和hello world

5.編輯執行專案

建立完專案後會進入編輯模式,這裡可以對專案檔案進行檢視和編輯。左側是專案檔案的列表,這裡將專案中的檔案分為了標頭檔案、原始檔等,進行分類顯示。除了顯示專案檔案,還可以透過下拉選單來選擇類檢視、大綱等內容。在右側就是程式碼編輯區域,這裡對關鍵字進行了高亮顯示。如下圖所示。

「Qt入門第1篇」 基礎(一)Qt開發環境的搭建和hello world

我們雙擊介面檔案中的

mydialog。ui

檔案,進入設計模式。在這裡可以對介面進行視覺化設計,也就是所見即所得。左側的是一些常用部件,可以直接拖動到介面上;右側是物件和類列表,下面是部件的屬性編輯視窗;在中間,上方是主設計區域,顯示了視窗的主介面,下面是Action編輯器以及訊號和槽編輯器視窗。

我們從左側部件列表中找到Label標籤部件並拖動到介面上,然後雙擊,更改其顯示文字為“helloworld”,如下圖所示。

「Qt入門第1篇」 基礎(一)Qt開發環境的搭建和hello world

下面我們單擊Qt Creator左側的

「Qt入門第1篇」 基礎(一)Qt開發環境的搭建和hello world

執行按鈕來編譯執行程式,這時會彈出儲存修改對話方塊,如下圖所示。這裡選中“構建之前總是先儲存檔案”,然後點選儲存所有檔案按鈕。

「Qt入門第1篇」 基礎(一)Qt開發環境的搭建和hello world

最後hello world程式成功執行,效果如下圖所示。

「Qt入門第1篇」 基礎(一)Qt開發環境的搭建和hello world

三、釋出程式

1.檢視工程目錄

這裡會發現多了一個

helloworld-build-desktop-Qt_4_8_1__4_8_1____

目錄,裡面存放的就是編譯生成的檔案。這就是前面建立專案講到的 “使用影子構建” ,如果沒有選中這個,那麼生成的檔案就會和原始碼在同一個目錄裡。該目錄的內容如下圖所示。

「Qt入門第1篇」 基礎(一)Qt開發環境的搭建和hello world

這裡有兩個目錄:

debug

release

,分別用於存放debug方式和release方式編譯生成的可執行檔案。因為編譯時預設是

debug

版本,所以現在

release

目錄中是空的。開啟

debug

目錄,可以看到生成的可執行檔案

helloworld。exe

如下圖所示。

「Qt入門第1篇」 基礎(一)Qt開發環境的搭建和hello world

此時雙擊

helloworld。exe

檔案,會彈出系統錯誤提示框,表明丟失了

mingwm10。dll

檔案。如下圖所示。

「Qt入門第1篇」 基礎(一)Qt開發環境的搭建和hello world

其實我們可以在Qt安裝路徑下找到該檔案,我這裡是在

C:\Qt\4。8。1\bin

中,將其複製到

debug

目錄裡面,然後還會提示缺少其他幾個dll檔案,依次將它們複製過來即可。完成後

helloworld。exe

就可以運行了。其實也可以先設定環境變數,以後在本機就可以直接執行生成的可執行檔案了,這個可以參考下面的附錄。

2.編譯release版本程式

可以看到debug版本的可執行檔案需要的dll檔案是很大的,因為其中包含了除錯資訊。而我們實際釋出軟體是使用的release版本,下面我們就來編譯release版本的helloworld程式。如果前面關閉了Qt Creator,那麼需要在Qt Creator中再次開啟helloworld專案,可以從歡迎模式的開發頁面中開啟最近使用的專案,也可以從開始選單中開啟,還可以將原始碼目錄中的。pro檔案直接拖入到QtCreator來開啟。

然後將版本設定為release版本,也就是釋出版本。如下圖所示。完成後執行程式即可。

「Qt入門第1篇」 基礎(一)Qt開發環境的搭建和hello world

最後,可以從

release

目錄中將

helloworld。exe

複製出來,然後將需要的幾個dll檔案(跟debug版本的不是完全一樣哦!)也複製過來,將它們放到一個資料夾中,打包進行釋出。

補充:如果要給生成的exe可執行檔案更換一個自定義圖示,可以這樣做:

1.在專案中新增一個

myapp。rc

(名字可以隨意)檔案,然後在裡面輸入下面一行程式碼:

IDI_ICON1 ICON DISCARDABLE “appico。ico”

這裡的

appico。ico就

是自己的。ico圖示檔案;

2.在

。pro

專案檔案中新增下面一行程式碼:

RC_FILE = myapp。rc

3.重新編譯

四、Qt工具介紹

安裝好Qt後,會在開始選單生成一個目錄,如下圖所示。

「Qt入門第1篇」 基礎(一)Qt開發環境的搭建和hello world

這裡是Qt提供的幾個工具軟體。其中Assistant是Qt助手,它已經整合到了Qt Creator中,就是幫助模式;Designer是Qt設計師,它也整合到了QtCreator中,就是設計模式;Exampleand Demos是Qt示例程式和演示程式,其中的演示程式就是一些比較大型的程式,這個我們在歡迎模式已經看到了,不過這裡可以直接執行這些程式;Linguist是Qt語言家,是用來對軟體進行國際化翻譯的;下面的Qt 4。8。1 Command Prompt可以用來進行命令列操作,比如使用命名來編譯程式等。

五、附錄

前面為了執行生成的

helloworld。exe

檔案,複製了一些dll檔案。其實,如果只想在本機執行程式,那麼不必要每次都複製這些檔案,只需要將

path

環境變數設定一下即可。我們在桌面計算機(我的電腦)圖示上點選滑鼠右鍵,選擇屬性,然後選擇高階系統設定,在這裡在高階頁面選擇環境變數,然後在系統變數中找到

Path

變數,雙擊,在變數值的最後,新增上Qt的

bin

目錄的路徑,我這裡是

;C:\Qt\4。8。1\bin

(注意,在最前面有個英文半形的分號)。如下圖所示。

「Qt入門第1篇」 基礎(一)Qt開發環境的搭建和hello world

這樣以後就不需要再複製那些dll檔案了。其實,還有一種方式也不需要dll檔案,那就是靜態編譯,不過使用靜態編譯的Qt程式很大,而且不夠靈活,所以這裡不再講解,有興趣的朋友可以在網上搜索一下。

結語

這一篇中透過建立一個hello world程式,主要講解了Qt Creator開發環境的建立以及Qt程式執行釋出等內容。這一篇是最基本的知識,希望大家先看完本篇再來學習下面的內容。在《Qt Creator快速入門》一書中對開發環境以及hello world程式進行了更加詳細深入的講解,有需要的童鞋可以參考一下。