## 12.2 Qt Creator 的組成
Qt Creator 主要由菜單(Menu Bar)、模式選擇器(Mode Selectors)、項目瀏覽器(Project Inspector)、代碼編輯器(Code Editor)、輸出面板(Output Panes)、邊欄(Sidebars)、 快速導航面板(Quick Open Pane)等組件構成。
在圖 12-1 中顯示了 Edit 模式下,Qt Creator 主要的組成部件以及布局情況。其它模式 下的組成和布局我們將結合模式選擇器( Mode Selectors)講解。

圖 12-1 Qt Creator 布局架構
### 12.2.1 模式選擇器(Mode Selectors)
Qt Creator 有 6 種工作模式可供開發者選擇,分別是: Welcome, Edit, Debug, Projects, Help, 和 Output。
模式選擇器允許開發者在處理不同的任務時可以快速的切換工作模式,比如編輯代碼 、 瀏覽幫助、設置編譯器環境等。在切換時,你可以通過在界面左邊的模式選擇器分欄上單擊 鼠標左鍵,或者使用相對應的快捷鍵。當你使用特定模式下才有的動作時,也會使你自動切 換到相應的模式,比如當你依次單擊菜單 Debug/Start Debugging 時,Qt Creator 將自動切 換到 Debug 模式下。
1\.歡迎模式( Welcome Mode )
如圖 12-2 所示,在該模式下 Qt Creator 顯示一個歡迎屏幕。在這個模式下,你可以快 速的載入最近的人機對話或者是獨立的項目 ,也可以向 Qt Creator 項目組提供反饋意見,甚 至加入到 Qt Creator 項目組中,成為其中的一員。
這個屏幕分為 3 個專欄:Getting Started、Develop 和 Community。在 Getting Started 專欄下,你可以學習 Qt Creator 的使用以及 Qt4 編程的相關知識和技能;在 Develop 專欄 下,你可以快速的恢復與 Qt Creator 的上一次對話過程,也可以打開新近使用的項目或者創 建一個新的項目;在 Community 專欄下,你可以獲取 Qt Labs 網站上的新聞,也可以訪問流 行的 Qt 站點。
當你在命令行下面調用 Qt Creator 時,在不附加額外的參數的情況下將進入到這個歡 迎模式下。

圖 12-2 歡迎模式界面
2\.編輯模式( Edit Mode )
如圖 12-3 所示,在 Edit 模式下,你可以編輯項目和源代碼文件,在模式選擇器右邊一 點的邊欄(sidebar)上點擊,你就可以在不同的文件中導航了。

圖 12-3 編輯模式界面
3\.調試模式( Debug Mode )
如圖 12-4 所示,Qt Creator 提供了多種不同的方式輔助程序員查看應用程序運行的狀 態來調試程序。后面我們會結合具體例子講解。

圖 12-4 調試模式界面
4\.項目模式( Projects Mode )
如圖 12-5 所示,在項目模式下,首先你可以查看所有項目的列表,并可設置以哪一個 項目為當前的活動項目。然后可以選定項目,針對構建(build),運行(run)以及代碼編輯 器等多個方面進行詳細設置。

圖 12-5 項目模式界面
5\.幫助模式( Help Mode)
如圖 12-6 所示,主要是無縫集成了 Qt 的文檔和示例中的相關內容,你可以不必另行打 開 Qt Assistant,就可以在 Qt Creator 的 Help 模式下獲得幫助。

圖 12-6 幫助模式界面
6\.輸出模式(Output Mode)
如圖 12-7 所示,你可以在 Output 模式下,觀察各種流程的細節,比如 qmake 以及應 用程序的編譯、構建情況。這些信息你也可以再輸出面板里面獲得( Output Panes)。

圖 12-7 輸出模式界面
### 12.2.2 輸出面板(Output Panes)
Qt Creator 的輸出面板主要由 4 個子面板組成,分別是: Build Issues, Search Results,Application Output,和 Compile Output。它們在所有的模式下均可以使用。
1\.構建過程和結果(Build Issues)子面板
如圖 12-8 所示,該面板主要顯示與構建相關的信息,例如警告信息、錯誤信息等等, 并且指出了該產生該信息的具體位置以及可能的原因。
圖 12-8 構建的流程與結果(Build Issues)
2\.搜索結果(Search Results)子面板 該面板提供了執行搜索動作后的結果輸出顯示 ,搜索的范圍可以是全局的,也可以是具體局部的,比如你可以在某一個指定的文檔中搜索某個詞組,也可以把范圍擴大到所有項目或者是電腦上的硬盤目錄等等。舉例來說,我們在 TextFinder 目錄下面搜索含有 “TextFinder”這個詞,如圖 12-9 所示即是搜索的結果顯示。

圖 12-9 搜索結果(Search Results)
3\. 應用程序輸出子面板
如圖 12-10 所示,應用程序輸出子面板顯示了應用程序的運行狀態 ,包括正常運行以及 Debug 模式下的信息,比如你可以在程序中調用 qDebug()函數來查看輸出情況。
圖 12-10 應用程序(構建結果)的輸出(Application Output)
4\. 編譯(Compile)子面板
如圖 12-11 所示,編譯子面板顯示了所有來自編譯器的輸出信息 ,實際上它包含了更為 詳細的輸出信息,包括 Build Issues 子面板顯示的信息。

圖 12-11 編譯情況的輸出(Compile Output)
### 12.2.3 代碼編輯器(Code Editor)
代碼編輯器輔助開發者創建、編輯代碼,并可在其間導航。它具有代碼高亮、代碼自動完成、上下文提示以及內嵌代碼錯誤指示等特性。
1\. 屬性設置
可以依次點擊【Tools】→【Options...】→【Text Editors】,來設置代碼編輯器的各 種屬性。
圖 12-12 顯示了如何設置 Font&Colors(字體和顏色)屬性。

圖 12-12 設置代碼編輯器的字體顏色(Font&Colors)屬性
圖 12-13 顯示了如何設置 Behavior(行為)屬性。

圖 12-13 設置代碼編輯器的行為(Behavior)屬性
圖 12-14 顯示了如何設置 DisPlay(顯示)屬性。

圖 12-14 設置代碼編輯器的展現(Display)等屬性
圖 12-15 顯示了如何設置 Completion(代碼完成)屬性。

圖 12-15 設置代碼編輯器的自動完成(Completetion)等屬性
2\. 快捷鍵
Qt Creator 的代碼編輯器支持很多的快捷鍵,表列出了常用的一部分:
表 12-1 代碼編輯器支持的快捷鍵
+ 代碼塊間導航 Ctrl+[和 Ctrl+],一般我們常用在比如在{}代碼塊間導航
+ 選中代碼塊/取消選中代碼塊/選中上級代碼塊 Ctrl+U / Ctrl+Shift+U / 再次按下 Ctrl+U
+ 向上/向下移動某行代碼 Ctrl+Shift+Up / Ctrl+Shift+Down
+ 代碼自動完成 Ctrl+Space
+ 格式化縮進 Ctrl+I
+ 代碼塊折疊/展開 Ctrl+< / Ctrl+>
+ 聲明注釋或取消注釋 Ctrl+/
+ 刪除一行代碼 Shift+Del
+ 在類的頭文件和實現文件間切換 F4
+ 增大或縮小字體的大小 Ctrl鍵+鼠標滾輪
+ 在聲明和定義之間轉換 F2 和 Shift+F2 鍵適用于名字空間、類、方法、變量、宏等.
+ 切換到外部的編輯器 依次點擊菜單 Edit -> Advanced-> Open in external editor
3\. 代碼完成功能( Code Completion )
當你在代碼編輯器中輸入某個詞組時,系統會自動彈出一個上下文提示窗口 ,里面列舉了可能符合你的意圖的完整代碼,這個上下文提示窗口又被稱為是 “代碼完成提示盒子”,其中常見的類別有類、名字空間、方法、變量、宏以及關鍵字等。表 12-2 顯示了這些常見類別 以及所對應的圖標。


表 12-2 常見類別圖標
### 12.2.4 會話管理器( Session Management )
在 Qt Creator 中,一個會話(session)指的是用戶與 Qt Creator 交互的一次過程, 可以包括加載的項目、打開的文件以及代碼編輯器的設置等等 。當你運行 Qt Creator 時,你 已經開啟了一個的對話,Qt Creator 會將它記錄下來。如圖 12-16 所示,你可以依次點擊【File】→【Session】→【Session Manager...】來創建和管理對話。

圖 12-16 會話管理器
要在不同的對話間切換,你可以依次點擊【File】→【Session】來切換實現,如圖 12-17 所示。如果你沒有創建新的對話,并且沒有選擇任何對話,那么 Qt Creator 將一直使用默認 的對話。

圖 12-17 切換會話
### 12.2.5 Qt 幫助集成功能( Qt Help Integration )
在 Qt Creator 中使用幫助,有兩種主要的方式,一種是隨時按下 F1 鍵,一種是切換到 Help 模式下,Qt Creator 使用插件的方式將 Qt 的文檔和示例集成進來。圖 12-18 示例了使 用 F1 鍵的方式,你可以選中某個詞或者類名,甚至整條句子等,然后按下 F1 鍵,在 Qt Creator 的右邊將增加一個面板,在里面顯示了文檔中有關條款的內容。

圖 12-18 查閱幫助
### 12.2.6 Qt 設計師集成功能( Qt Designer Integration )
如圖 12-19 所示,在使用 Qt Creator 開發應用程序時,常見的用法是用鼠標左鍵雙擊.ui文件,即可打開 Qt Creator 的 Qt Designer 集成功能。你可以看到,Qt Creator 已經與 Qt Designer 完全集成在一起了。這樣你就可以在不單獨運行 Qt Designer 時,在 Qt Creator中完成應用程序界面的設計,并且與 Qt Creator 的項目管理以及其它功能在一起獲得對 Qt 項目的完整把握。

圖 12-19 在 Qt Creator 中集成 Qt Designer
- 第 1 章 走近 Qt
- 1.1 Qt 簡介
- 1.2 Qt 紀事概覽
- 1.3 Qt 套件的組成(以 Qt4.5 為準)
- 1.4 Qt 的授權
- 1.5 Qt 的產品
- 1.6 Qt 的服務與支持
- 1.7 Qt 的最新進展
- 1.8為什么選擇 Qt
- 1.9 問題與解答
- 1.10 總結與提高
- 第 2 章 Qt 的安裝與配置
- 2.1 獲取 Qt
- 2.2 協議說明
- 2.3 安裝 Qt
- 2.4 配置 Qt4 環境
- 2.5 問題與解答
- 2.6 總結與提高
- 第 3 章 Qt 編程基礎
- 3.1 標準 C++精講
- 3.2 Windows 編程基礎
- 3.3 Linux 編程基礎
- 3.4 Mac 編程基礎
- 3.5 問題與解答
- 3.6 總結與提高
- 第 4 章 Qt 4 集成開發環境
- 4.1 常見的 Qt IDE
- 4.2 Qt Creator
- 4.3 Eclipse
- 4.5 問題與解答
- 4.6 總結與提高
- 第 5 章 使用 Qt 基本 GUI 工具
- 5.1 使用 Qt Designer 進行 GUI 設計
- 5.2 使用 Qt Assistant 獲取在線文檔與幫助
- 5.3 使用 Qt Demo 學習 Qt 應用程序開發
- 5.4 問題與解答
- 5.5 總結與提高
- 第 6 章 Qt 4 程序開發方法和流程
- 6.1 開發方法
- 6.2 Hello Qt
- 6.3 幾個重要的知識點
- 6.4 問題與解答
- 6.5 總結與提高
- 第 7 章 對話框
- 7.1 QDialog 類
- 7.2 子類化 QDialog
- 7.3 快速設計對話框
- 7.4 常見內建(built in)對話框的使用
- 7.5 模態對話框與非模態對話框
- 7.6 問題與解答
- 7.7 總結與提高
- 第 8 章 主窗口
- 8.1 主窗口框架
- 8.2 創建主窗口的方法和流程
- 8.3 代碼創建主窗口
- 8.4 使用 Qt Designer 創建主窗口
- 8.5 中心窗口部件專題
- 8.6 Qt4 資源系統專題
- 8.7 錨接窗口
- 8.8 多文檔
- 8.9 問題與解答
- 8.10 總結與提高
- 第 9 章 Qt 樣式表與應用程序觀感
- 9.1 應用程序的觀感
- 9.2 QStyle 類的使用
- 9.3 樣式表概述
- 9.4 使用樣式表
- 9.5 問題與解答
- 9.6 總結與提高
- 第 10 章 在程序中使用.ui 文件
- 10.1 uic 的使用
- 10.2 Ui_YourFormName.h 文件的組成
- 10.3 編譯時加入處理.ui 文件的方法
- 10.4 運行時加入處理.ui 文件的方法
- 10.5 信號與槽的自動連接
- 10.6 問題與解答
- 10.7 總結與提高 本章主要講解了以下內容:
- 第 11 章 布局管理
- 11.1 基本概念和方法
- 11.2在 Qt Designer 中使用布局
- 11.3 基本布局實踐
- 11.4 堆棧布局
- 11.5 分裂器布局
- 11.6 自定義布局管理器
- 11.7 布局管理經驗總結
- 11.8 問題與解答
- 11.9 總結與提高
- 第 12 章 使用 Qt Creator
- 12.1 Qt Creator 概覽
- 12.2 Qt Creator 的組成
- 12.3 快捷鍵和常用技巧
- 12.4 Qt Creator 構建系統的設置
- 12.5 處理項目間依賴關系( Dependencies )
- 12.6 Qt 多版本共存時的管理
- 12.7 使用定位器在代碼間快速導航
- 12.8 如何創建一個項目
- 12.9 實例講解
- 12.10 使用 Qt Creator 調試程序
- 12.11 問題與解答
- 12.12 總結與提高
- 第 13 章 Qt 核心機制與原理
- 13.1 Qt 對標準 C++的擴展
- 13.2 信號與槽
- 13.3 元對象系統
- 13.4 Qt 的架構
- 13.5 Qt 的事件模型
- 13.6 構建 Qt 應用程序
- 13.7 總結與提高
- 附錄 A qmake 使用指南
- A.1 qmake 簡介
- A.2 使用 qmake
- 附錄 B make 命令
- B.1 命令解釋
- B.2 使用 make 自動構建
- 附錄 C Qt 資源
- C.1Qt 官方資源
- C.2 Qt 開發社區