QtCreator源碼分析(一)——QtCreator源碼簡介

QtCreator源碼分析(一)——QtCreator源碼簡介

1、QtCreator簡介

QtCreator是設計精巧的插件式系統,QtCreator的核心是一個插件管理器,其全部功能都是使用插件完成。在啓動時,QtCreator會首先加載一個名爲coreplugin的插件,coreplugin插件提供了Qt Creator最基本的功能和擴展點,其他的插件都是直接或間接依賴於coreplugin插件提供的機制,一步步擴充QtCreator的功能,最終將其變成一個功能完整的IDE。
針對QtCreator的插件機制設計,QtCreator源碼分析會將關注重點放在插件管理器的實現、coreplugin的實現上面。QtCreator徹底基於qmake的複雜開發模式,須要學會如何使用qmake管理一個至關複雜的項目(QtCreator近5000個文件),如何開發自定義插件管理器,如何使用插件擴展定製系統等。python

2、QtCreator源碼簡介

一、QtCreator源碼目錄簡介

QtCreator-2.8.1包含5000多個文件,代碼行數超過了110萬行。
源碼目錄以下:
QtCreator源碼分析(一)——QtCreator源碼簡介![]
bin: 生成Linux平臺shell腳本。
dist: 安裝文件配置信息和版本更新記錄。
doc: 生成doxygen文檔的配置文件。
lib:Qt組件相關的QML文件
qbs:QBS 配置文件。QBS,即 Qt Build Suite,是一種跨平臺的編譯工具,目的是將高層的項目描述(使用相似QML的語言)轉換成底層的編譯描述(供 make 等工具使用的信息)。它能夠簡化多平臺的編譯過程。QBS與qmake相似,區別在於前者適用於任意項目,然後者通常僅供Qt項目使用。在閱讀代碼時將關注 qmake,不會深刻研究QBS的使用。
scripts: QtCreator使用的perl以及python等腳本。
share: 源代碼中所須要的一些非代碼共享文件,例如代碼模板等。
src: QtCreator源代碼文件。
tests: QtCreator測試代碼。
HACKING: QtCreator編碼規範。
LICENSE.LGPL: LGPL協議。
qtcreator.pri: QtCreator項目須要使用的通用配置,通常會被include到大部分 pro文件。
qtcreator.pro: QtCreator的qmake項目文件。
qtcreator.qbs:  Qt Creator 的 QBS 項目文件。
README: 有關如何編譯QtCreator等相關事宜的一些說明。
.gitignore: git忽略文件配置。
.gitmodules:git 子模塊配置git

二、QtCreator源碼編譯

Linux環境下直接使用QtCreator-2.8.1+Qt4.8.6編譯
運行結果以下:
QtCreator源碼分析(一)——QtCreator源碼簡介shell

3、QtCreator簡介

QtCreator主要由主窗口區、菜單欄、模式選擇器、經常使用按鈕、定位器、輸出面板等組成。編輯器

一、QtCreator菜單欄

QtCreator菜單欄包含文件、編輯、構建、調試、分析、工具、窗體、幫助八個菜單選項。
文件菜單包含新建、打開、關閉項目和文件,打印文件和退出等基本功能菜單。
編輯菜單包含撤銷、剪切、複製、查找等經常使用功能,高級菜單包含標示空白符、摺疊代碼、改變字體大小等功能。
構建菜單包含構件和運行項目等相關菜單。
調試菜單包含調試程序相關的功能菜單。
分析菜單包含經常使用分析工具的菜單。
工具菜單包含快速定位菜單、版本控制工具菜單、界面編輯器菜單等。
窗體菜單包含設置窗口布局的一些菜單,如全局顯示、隱藏邊欄。
幫助菜單包含Qt幫助、QtCreator版本信息和插件管理等菜單。ide

二、QtCreator模式選擇器

QtCreator模式選擇器包括歡迎模式、編輯模式、設計器模式、調試模式、項目模式、分析模式、幫助模式。
歡迎模式主要提供一些功能的快捷入口,如打開幫助教程、打開示例程序、打開項目、新建項目、快速打開之前的項目和會話等功能
編輯模式主要提供查看和編輯程序代碼,管理項目文件等功能。QtCreator編輯器具備關鍵字特殊顏色顯示、代碼自動補全、聲明定義間快捷切換、函數原型提示、F1鍵快速打開相關幫助、全項目中進行查找等功能。
設計器模式整合了Qt Designer的功能,設計圖形界面,進行部件屬性設置、信號和槽設置、佈局設置等。
調試模式,QtCreator默認使用GDB進行調試,支持設置斷點、單步調試和遠程調試等功能,包含局部變量和監視器、斷點、線程、快照查看窗口等。
項目模式,包含具體項目的構建設置、運行設置、編輯器設置、依賴關係等頁面。構建設置中能夠對項目的版本、使用的Qt版本、編譯步驟進行設置。編輯器設置中能夠設置文件的默認編碼。
幫助模式,整合了Qt助手,包含目錄、查找、索引、書籤等導航模式。函數

三、QtCreator經常使用按鈕

QtCreator經常使用按鈕包括目標選擇器、運行按鈕、調試按鈕、構建按鈕。目標選擇器用來選擇要構建哪一個平臺的項目;運行按鈕實現項目的構建和運行;調試按鈕進入調試模式,進行程序調試;構建按鈕能夠構建全部打開的項目。工具

四、QtCreator定位器

QtCreator中,定位器用來快速定位項目、文件、類、方法、幫助文檔、文件系統,可使用過濾器更加準肯定位要查找的結果。源碼分析

五、QtCreator輸出面板

QtCreator輸出面板包含了構建問題、搜索結果、應用程序輸出、編譯輸出、QML/JS命令窗口、通常信息。
構建問題窗口顯示程序編譯時的錯誤和警告信息;搜索結果窗口顯示執行搜索後的結果信息;應用程序輸出窗口顯示在程序運行過程當中輸出的全部信息;編譯輸出窗口顯示在程序編譯過程當中輸出的相關信息;QML命令窗口顯示QML命令記錄;版本控制系統窗口顯示版本控制系統的記錄。佈局

相關文章
相關標籤/搜索