
Qt圖标
一般地,安裝完一個軟件後,我習慣到安裝目錄去看一下目錄以及文件。對于Qt這樣一個“複雜的軟件”,了解其文件目錄結構雖然不是掌握編程所必須的,但是對其适當的了解能夠讓我們對 Qt 的編程環境更加了然于胸,做到“知其然更知其所以然”[呲牙]。這裡我學習整理了一些内容,以Windows平台為例進行說明(Linux上應該也類似)。
一、Qt的整體目錄結構
不同版本 Qt 的目錄結構是相似的。由于我電腦上安裝了Qt 5.14.2,便以此為例來說明,如圖1所示。

圖1. Qt整體目錄結構
- “D:\Qt\Qt5.14.2”:Qt安裝根目錄。為了方便描述,下面我們使用~表示該目錄。
- “~\5.14.2”:Qt類庫和源代碼,如果安裝時選擇了“Sources”組件,那麼目錄下會包含“Src”源代碼目錄。
- “~\5.14.2\mingw73_*”:Qt 的類庫文件,例如頭文件、靜态/動态庫等,這些類庫文件就是将Qt源代碼使用 MinGW 工具集編譯而成的。由于我同時安裝了32位和64位的類庫,所以包含了兩個文件夾。
- “~\Docs”:Qt 類庫的幫助文件,需要用 Qt Assistant 工具才能查看。
- “~\Tools”:Qt開發工具集,包含編譯器及集成開發工具。
- “~\Tools\mingw730_*”:包含的是 MinGW 工具集,例如編譯器 g 、鍊接器 ld、make 工具、打包工具 ar 等。由于我安裝了32位和64位的minGW,所以包含了兩套工具集。
- “~\QtCreator”:Qt集成開發環境。
- “~\Examples”:包含了大量的示例代碼,也就是Qt Creator啟動後歡迎界面顯示的示例。
- “~\MaintenanceTool.exe”:Qt安裝管理程序。對于離線安裝包,隻能用于删除軟件包。對于在線方式安裝的,該程序還可以管理開發環境組件和升級組件。
二、Qt 類庫目錄結構
再來看一下Qt類庫的結構,這裡以mingw73_32為例進行說明,如圖2所示。

圖2. Qt 類庫目錄結構
- “D:\Qt\Qt5.14.2\5.14.2\mingw73_32”:Qt類庫根目錄。為了方便描述,下文中我們使用~表示該目錄。
- “~\bin”:Qt運行庫包含的動态鍊接庫*.dll文件(如Qt5Core.dll、Qt5Gui.dll、Qt5Widgets.dll等)以及程序生成工具(如designer.exe、qmake.exe等)。
- “~\include”:Qt類庫的頭文件包含目錄,包含有87個子目錄,如QtCore(核心庫)、QtGui(底層繪圖庫)、QtWidgets(窗口和控件庫)等。
- “~\lib”:Qt靜态鍊接庫文件*.a,如libQt5Core.a、libQt5Gui.a、libQt5Widgets.a等。
- “~\mkspecs”:根據不同系統、不同編譯工具定制的生成腳本。提供了68種不同的系統-編譯工具的組合。
- “~\qml”:QML開發所用的大量模塊。QML 類似于網頁設計的 HTML,是一種标記語言,主要用于手機移動應用程序的UI部分。
- “~\plugins”:以dll文件的形式提供了大量的功能模塊插件,有27個類别,如imageformats(圖片格式)、virtualkeyboard(虛拟鍵盤)、canbus(CAN總線)等。
- “~\translations”:提供了對assistant、designer、linguist、qt等程序的多國語言翻譯文件。
本文隻是根據我的粗淺了解對Qt的主要目錄進行了介紹,有不對之處請大家多多關注并評論指正[贊]。更具體的認識還需要在學習和使用過程中慢慢摸索。
, 更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!