本文基於Qter開源社區論壇版主yafeilinux編寫的《Qt快速入門系列教程目錄》,網址:http://bbs.qter.org/forum.php?mod=viewthread&tid=193。參考書為基於該系列教程《Qt Creator快速入門》和《Qt及Qt Quick開發實戰精解》
1、關聯Qt庫。如果是分別安裝的Qt Creator和Qt庫,而不是安裝集成Qt Creator和Qt庫的SDK,則需要手動關聯Qt庫。打開工具→選項菜單,然后選擇“構建和運行”一項,再進入Qt版本選項卡。點擊右上角的“添加”按鈕,然后會讓選擇qmake.exe文件,我們在Qt(不是Qt Creator)安裝目錄的bin目錄中找到該文件並打開。現在已經默認生成了版本信息,我們點擊確定按鈕即可。
2、關聯MinGW。在安裝Qt 4.8.6及以后的Qt 4版本時,應該按照安裝時的提示來下載相應版本的MinGW,不然編譯程序無法運行。如果是Qt4版本,需要使用GCC 4.4,也就是MinGW需要是4.4版本的,其他新的版本均不可用。在Qt 4.8版本,需要下載並指定GDB才能正常調試。下載完MinGW和GDB以后,將其解壓到Qt的安裝目錄中,比如這里都解壓到了C:\Qt目錄中。打開工具→選項菜單,然后選擇“構建和運行”一項,再進入工具鏈選項卡。點擊右上角的“添加”按鈕,然后會讓選擇mingw32-g++.exe文件,我們在MinGW安裝目錄的bin目錄中找到該文件並打開。關聯GDB則進入調試器選項卡添加GDB相關exe文件。
如果安裝的是集成開發包QtSDK,則不需要手動關聯Qt庫、MinGW和GDB,由Qt自動關聯。
注意:Qt5以后版本默認也包含了所有需要的工具,不存在這里的情況,直接下載安裝即可使用!
3、在創建桌面版項目時,最好選中“使用影子構建”,這樣編譯生成的文件會和源碼分別存放,如下圖所示。編譯完成后會發現多了一個helloworld-build-desktop-Qt_4_8_1__4_8_1____目錄,里面存放的就是編譯生成的文件。這就是前面創建項目講到的 “使用影子構建” ,如果沒有選中這個,那么生成的文件就會和源碼在同一個目錄里。
4、補充:如果要給生成的exe可執行文件更換一個自定義圖標,可以這樣做:
(1)在項目中添加一個myapp.rc(名字可以隨意)文件,然后在里面輸入下面一行代碼:IDI_ICON1 ICON DISCARDABLE "appico.ico",這里的appico.ico就是自己的.ico圖標文件;
(2)在.pro項目文件中添加下面一行代碼:RC_FILE = myapp.rc,
(3)重新編譯
如果需要更換新的圖標,建議先清理項目的編譯文件,再重新編譯,否則可能會報錯,如下。
“:-1: 錯誤:No rule to make target `..\helloworld\myapp.rc', needed by `debug/myapp_res.o'. Stop.”
5、在創建主窗口MainWindow項目后,打開mainwindow.ui文件進入設計模式。在這里可以看到界面左上角的“在這里輸入”,我們可以在這里添加菜單。雙擊“在這里輸入”,將其更改為“文件(&F)”,然后按下回車鍵,效果如下圖所示。這里的&F表明將菜單的快捷鍵設置為了Alt+ F,可以看到,實際的顯示效果中&符號是隱藏的。
同樣的方法,我們在文件菜單中添加“新建(&N)”子菜單,效果如下圖所示。菜單后面的那個加號圖標是用來創建下一級菜單的。
Qt中的一個菜單被看做是一個Action,我們在下面的Action編輯器中可以看到剛才添加的“新建”菜單,如下圖所示。
雙擊該條目,會彈出編輯動作對話框,這里可以進行各項設置,比如我們可以設置菜單的快捷鍵,點擊一下快捷鍵后面的行編輯器,然后按下鍵盤上的Ctrl + N,這樣就可以將該菜單的快捷鍵設置為Ctrl + N。如下圖所示。那么大家可能會問,既然該菜單的快捷鍵是這么設置的,那么前面設置的“新建(N)”中的N是什么呢?這個可以被稱為加速鍵,就是只有當文件菜單處於激活(顯示)狀態時,按下N鍵才會執行新建菜單的功能。
6、Qt中可以使用資源文件將各種類型的文件添加到最終生成的可執行文件中,這樣就可以避免使用外部文件可能出現的一些問題。而且,在編譯時Qt還會將資源文件進行壓縮,我們可能發現生成的可執行文件比我們添加到其中的資源文件還要小。創建完資源文件后會自動打開該資源文件,這里需要先在下面添加前綴,就是點擊添加按鈕,然后選擇前綴,默認的前綴是“/new/prefix1”,這個可以隨意修改(不要出現中文字符),我們這里因為要添加圖片,所以修改為/myImages。然后再按下添加按鈕來添加文件,這里最好將所有要用到的圖片放到項目目錄中。比如我們這里在項目目錄中新建了一個images文件夾,然后將需要的圖標文件粘貼進去。添加完文件后,如下圖所示。
當添加完資源后,一定要按下Ctrl + S來保存資源文件,不然在后面可能無法顯示已經添加的資源。
7、使用代碼添加菜單時,在構造函數中添加如下代碼:

11、在QtCreator中有幾種快速定位函數的方法:




12、在Action編輯器中,有兩個屬性toolTip和statusTip,分別為工具欄提示和狀態欄提示,如下圖
這時運行程序,當光標移動到新建動作上時,在下面的工具欄和狀態欄將會出現設置的提示。如下圖所示
13、狀態信息可以被分為三類:臨時信息,如一般的statusTip提示信息,上面講到的動作提示就是臨時信息;正常信息,如顯示頁數和行號;永久信息,如顯示版本號或者日期。可以使用showMessage()函數來顯示一個臨時消息,它會出現在狀態欄的最左邊。一般用statusBar->addWidget()函數添加一個QLabel到狀態欄上用於顯示正常信息,它會生成到狀態欄的最左邊,可能會被臨時消息所掩蓋。如果要顯示永久信息,要使用statusBar->addPermanentWidget()函數來添加一個如QLabel一樣的可以顯示信息的部件,它會生成在狀態欄的最右端,不會被臨時消息所掩蓋。
14、關於隨機數,在Qt中是使用qrand()和qsrand()兩個函數實現的。在使用qrand()函數產生隨機數之前,一般要使用qsrand()函數為其設置初值,如果不設置初值,那么每次運行程序,qrand()都會產生相同的一組隨機數。為了每次運行程序時,都可以產生不同的隨機數,我們要使用qsrand()設置一個不同的初值。