QT .pro文件的實(shí)現(xiàn)
.pro 文件是什么
.pro就是工程文件(project),它是qmake自動(dòng)生成的用于生產(chǎn)makefile的配置文件。類似于VS中的.sln 和vsproj文件
默認(rèn)情況下,每個(gè) Qt 項(xiàng)目都包含一個(gè)后綴名為.pro
、名稱和項(xiàng)目名相同的文件。如該項(xiàng)目的項(xiàng)目名為Dashboard,其中Dashboard.pro 就是項(xiàng)目管理文件。
一個(gè)項(xiàng)目中可能包含上百個(gè)源文件,Qt 編譯這些源文件的方法是:先由 qmake 工具根據(jù) pro 文件記錄的配置信息生成相應(yīng)的 makefile 文件,然后執(zhí)行 make 命令完成對(duì)整個(gè)項(xiàng)目的編譯。也就是說(shuō),pro 文件存儲(chǔ)的配置信息是用來(lái)告知編譯器如何編譯當(dāng)前項(xiàng)目的,所以一個(gè) Qt 項(xiàng)目要想完美運(yùn)行,既要保證各個(gè)源文件中程序的正確性,還要保證 pro 文件中配置信息的合理性。
任何一個(gè) Qt 項(xiàng)目都至少包含一個(gè) pro 文件,此文件負(fù)責(zé)存儲(chǔ)與當(dāng)前項(xiàng)目有關(guān)的配置信息,比如:
- 項(xiàng)目中用到了哪些模塊?
- 項(xiàng)目中包含哪些源文件,哪些頭文件,它們的存儲(chǔ)路徑是什么?
- 項(xiàng)目使用哪個(gè)圖片作為應(yīng)用程序的圖標(biāo)?
- 項(xiàng)目最終生成的可執(zhí)行文件的名稱是什么?
對(duì)于一個(gè)剛剛創(chuàng)建好的 Qt 項(xiàng)目,pro 文件并不是空的,而是包含一些基本的配置信息。實(shí)際開(kāi)發(fā)中,Qt 會(huì)自動(dòng)修改 pro 文件的內(nèi)容,但有時(shí)也需要我們手動(dòng)修改,例如程序中用到某個(gè)第三方庫(kù)時(shí),就需要我們手動(dòng)修改 pro 文件。
.pro文件的配置信息
.pro 文件可以存儲(chǔ)上百條配置信息,每條配置信息由三部分構(gòu)成:
- 前半部分是關(guān)鍵字,也稱配置項(xiàng),用來(lái)指明配置信息的含義;
- 中間用 +=、-=、= 等數(shù)學(xué)符號(hào)連接配置項(xiàng)和它對(duì)應(yīng)的值;
- 后半部分是配置項(xiàng)對(duì)應(yīng)的值,一個(gè)配置項(xiàng)可以對(duì)應(yīng)多個(gè)值,每個(gè)值代表不同的含義。
注釋 :使用‘#’進(jìn)行注釋,范圍到每行結(jié)束
模塊引入: QT += 模塊名,表示當(dāng)前項(xiàng)目引入Qt哪些模塊。默認(rèn)值為 core 和 gui
所謂模塊,可以簡(jiǎn)單地理解為文件夾或者壓縮包,內(nèi)部包含多個(gè)功能相近的類。作為一款成熟的 GUI 框架,Qt 提供了大量的類,根據(jù)這些類的功能,Qt 將它們分成了幾個(gè)組,每個(gè)組稱為一個(gè)模塊。打開(kāi) Qt Creator 的幫助界面并搜索“All modules”,可以看到 Qt 的所有模塊。
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets : 如果QT_MAJOR_VERSION大于4(也就是當(dāng)前使用的Qt5及更高版本)需要增加widgets模塊。如果項(xiàng)目?jī)H需支持Qt5,也可以直接添加“QT += widgets”一句。
配置信息:CONFIG用來(lái)告訴qmake關(guān)于應(yīng)用程序的配置信息 。如 CONFIG += c++11:?jiǎn)?dòng) C++11 標(biāo)準(zhǔn)支持。(qt5.6以上版本默認(rèn)使用C++11)
TARGET:指定生成的應(yīng)用程序名,中間用 = 符號(hào)連接。
HEADERS:指定項(xiàng)目中包含的所有 .h 頭文件
FORMS:指定項(xiàng)目中包含的 .ui 設(shè)計(jì)文件
SOURCES:指定項(xiàng)目中包含的所有 .cpp 源文件
RESOURCES指定項(xiàng)目中包含的資源文件
pro文件大部分配置項(xiàng)不需要我們手動(dòng)修改,比如 SOURCES、HEADERS、FORMS 等,當(dāng)我們添加或者刪除項(xiàng)目中的源文件時(shí),Qt 會(huì)自動(dòng)修改這些配置項(xiàng)。
附:Qtcreator常用快捷鍵
運(yùn)行 ctrl +R
編譯 ctrl +B
幫助文檔 F1 ,點(diǎn)擊F1兩次跳到幫助界面跳到符號(hào)定義 F2 或者 Ctrl + 鼠標(biāo)點(diǎn)擊
注釋 ctrl+/
字體縮放 ctrl + 鼠標(biāo)滾輪
整行移動(dòng)代碼 ctrl + shift + ↑或↓自動(dòng)對(duì)齊 ctrl + i
同名之間的.h和.cpp文件跳轉(zhuǎn) F4聲明函數(shù)實(shí)現(xiàn):alt鍵
到此這篇關(guān)于QT .pro文件的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)QT .pro文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++ 數(shù)據(jù)結(jié)構(gòu)線性表-數(shù)組實(shí)現(xiàn)
這篇文章主要介紹了C++ 數(shù)據(jù)結(jié)構(gòu)線性表-數(shù)組實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下2017-06-06C語(yǔ)言中深度優(yōu)先搜索(DFS)算法的示例詳解
這篇文章主要通過(guò)兩個(gè)簡(jiǎn)單的示例為大家詳細(xì)介紹一下C語(yǔ)言中深度優(yōu)先搜索(DFS)算法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2023-02-02使用c++編程實(shí)現(xiàn)簡(jiǎn)單的打字小游戲
這篇文章主要為大家介紹了使用c++編程語(yǔ)言來(lái)實(shí)現(xiàn)一個(gè)非常簡(jiǎn)單的打字小游戲過(guò)程實(shí)現(xiàn)的示例代碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-10-10C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)與算法之鏈表(二)
在這篇文章中,我們將拋開(kāi)令人頭禿的指針和結(jié)構(gòu)體,我們將另外使用一種數(shù)組來(lái)實(shí)現(xiàn)的方式,叫做模擬鏈表。讓來(lái)跟隨小編一起學(xué)習(xí)學(xué)習(xí)吧2021-12-12