## 4.3 Eclipse
Eclipse 和 Qt 的結合起來使用,也是很常見的形式,Nokia 專門為此開發了插件。 Eclipse 的官方網站是:http://www.eclipse.org/,在上面可以很容易的下載到各種你需 要的版本,目前的最高版本為 3.5 Galileo。
### 4.3.1 簡介
Eclipse 是著名的跨平臺的開源的集成開發環境( IDE)。Eclipse 的本身只是一個框架平臺,最初主要用來 Java 語言開發,但是眾多插件的支持使得 Eclipse 擁有其他功能相 對固定的 IDE 軟件很難具有的靈活性。許多軟件開發商以 Eclipse 為框架開發自己的 IDE,比如 Nokia 的 Carbide.c++(后面我們還會講到它),現在它已經發展成為支持其他多種計 算機語言如 C++和 Python 的優秀 IDE。
Eclipse 啟動后的畫面如圖 4-2 所示。

### 4.3.2 主要特點
Eclipse 的主要特點如下:
+ 良好的擴展性
圖 4-2 eclipse 啟動畫面
這要歸功于 Eclipse 首創的插件機制,Eclipse 的設計思想是:一切皆插件。Eclipse核心很小,其它所有功能都以插件的形式附加于 Eclipse 核心之上。Eclipse 基本內核包 括:圖形 API (SWT/Jface), Java 開發環境插件(JDT),C/C++環境插件插件(CDT), 開發框架環境(PDE)等。
+ 強大的支持
Eclipse 最初是由 IBM 公司開發的替代商業軟件 Visual Age for Java 的下一代 IDE 開 發環境,2001 年 11 月貢獻給開源社區,現在它由非營利軟件供應商聯盟 Eclipse 基金會(Eclipse Foundation)管理。眾多的業界巨頭對 Eclipse 非常看好,并且持續投入巨資以支持研發和管理。
除了商業公司的青睞,Eclipse 還得到來自世界各地的愛好者組成的眾多開源社區的 支持,幾乎每天都有新的插件和功能產生,而 Eclipse 基金會的管理也非常有序,基于 Eclipse 的成功應用屢見不鮮,這些都使得 Eclipse 成為最受歡迎的優秀 IDE 之一。
+ Qt 工程可以跨平臺使用
Eclipse 雖然不能解析 qmake 文件,但是使用它建立的同一個工程可以在 Windows、Linux 和 Mac OS X 使用。這就大大簡化了移植應用程序的過程,與 Qt 的理念不謀而合。
+ 代碼提示功能突出
與 Qdevelop 等其他 IDE 比較起來,Eclipse 沒有使用 CTags 作為代碼提示工具,因而在 進行代碼提示的時候速度更快,CPU 資源占用更少.并且 Eclipse 中的提示內容更加的準確和 完整。
Eclipse 也有一些不足之處,主要是兩點。一是耗費系統資源較多,這與它的機制和 Java 的運行效率有關;二是對 Qt 的支持還不是很完善,這與它的設計理念有關,它 的初衷 只是提供一個可擴展的框架,許多的功能還是要其他廠商或開發者自己完善。
具體使用時的感覺就是用 Eclipse 開發程序,機器要有較好的配置,內存一定要多一 些,否則程序的運行速度將比較緩慢,開發效率不高。
總的來說,Eclipse 是一個很好的 Qt IDE,它也是 qtsoftware 官方網站上推薦的 IDE 之一。良好的擴展性以及眾多業界巨頭的和開源社區的支持,都使 Eclipse 值得信賴和推 薦。
### 4.3.3 安裝與配置
Eclipse 本身的安裝比較容易,但與 Qt 結合起來就需要一定的步驟了,尤其是在 Windows 平臺上面。一般很少有人在 Linux 平臺上使用 Eclipse 開發 Qt 程序,這主要是由 于如果采用編譯安裝的方法的話,有太多的依賴問題需要解決,而如果使用發行版自帶的 Eclipse 的話,又存在與 Qt 版本的對應問題。在 Mac OS X 上同樣存在類似的問題,開發者 一般使用 Xcode。所以使用 Eclipse 一般是在 Windows 這個單一平臺上,并且是選擇 Windows XP 以上的版本。我們就以 Windows XP SP2 中文版和最新的 Qt 4.5.2 為例,向大 家介紹如何使用 Eclipse 開發 Qt 應用程序。
首先看看需要準備那些軟件包,表 4-1 描述了需要安裝的軟件包和下載地址。
表 4-1 需要的軟件包
| 軟件包 | 說明 | 下載地址 |
| --- | --- | --- |
| JRE | Java 運行環境 | [http://java.sun.com/javase/downloads/](http://java.sun.com/javase/downloads/) |
| MinGW | C++編譯器和調試器 | [http://sourceforge.net/](http://sourceforge.net/) |
| Qt OpenSource | Qt 庫 | [http://www.qtsoftware.com/downloads-cn](http://www.qtsoftware.com/downloads-cn) |
| Eclipse | 支持 C++開發的版本 | [http://www.eclipse.org/downloads](http://www.eclipse.org/downloads) |
| Qt Eclipse Integration for C++ | Qt 與 Eclipse 的集成工具 | [http://www.qtsoftware.com/developer/eclipse-integration](http://www.qtsoftware.com/developer/eclipse-integration) |
安裝過程如下:
第 1 步,確定安裝順序
由于 Eclipse 需要 JRE 才能運行,而 Qt Open Source 也依賴于 MinGW,所以我們按照下面的順序安裝軟件包:JRE、MinGW、Qt Open Source 、Eclipse、Qt Eclipse Integration for C++。
第 2 步,安裝 JRE
這里需要 JRE1.5 以上,我的選擇是直接下載安裝 JDK,其中包含了 JRE。安裝方法可 以參考第 2 章,一路點擊【Next】按鈕,只是在設置安裝路徑時,不要選擇帶有空格和特 殊字符的就好。
第 3 步,安裝 MinGW
MinGW 的安裝也與第二章的方法相同,需要安裝 DevCpp,或者選擇在下面安裝 Qt 時, 自動由 Qt 安裝程序從網絡上下載并安裝,而不要自己下載安裝最新的 5.1.4 版 MinGW。
第 4 步,安裝 Qt 庫
Qt Open Source 版可以選用 SDK,這樣就不用先安裝 MinGW 了。也可以選擇框架,如 圖 4-3 所示,在 qtsoftware 網站上,選擇“下載用于 Windows 的 qt 庫 4.5(60 Mb)”。 下載后的安裝方法請看第 2 章。

圖 4-3 下載 Qt 庫
第 5 步,安裝 Eclipse
去網站上下載 Eclipse,由于 Eclipse 項目眾多,它的網站上下載列表項變得很長,讓人困惑,如圖 4-4 所示,我們要下載的包是那個”Ecilpse IDE for C/C++ Developers(79 Mb)”。你下載到的文件名字類似于 eclipse-cpp-galileo-win32.zip,是一個壓縮包。解 開它后,只要你安裝過了 JRE,就可以運行了。

圖 4-4 下載 ecilpse&CDT
接下來把它解壓縮到你的目錄中,為方便起見,可以把它解到某個盤符的根目錄下, 比如 C 盤,因為它會創建完整的路徑,如圖 4-5 所示。

圖 4-5 解壓縮到根目錄
這樣解壓縮后,我的情形是在 C 盤根目錄下建立了一個 C:\eclipse 目錄,如圖 4-6 所 示,里面展開了所有內容,只要你前面安裝了 JRE,這時候雙擊 eclipse.exe,就可以運行 了。

圖 4-6 安裝 eclipse 完畢
第 6 步,安裝 Qt Eclipse Integration for C++
先到 Qt Software 網站上下載安裝程序,情形如圖 4-7 所示,我們需要下載 Windows 版的。

圖 4-7 下載 Qt Eclipse Integration for C++
然后開始安裝,中間過程基本都是一路選擇默認。需要注意的是,選擇 Eclipse 時需 要選擇它的根路徑,而 MinGW 則需要指定它的 bin 目錄。如果你是采用 SDK 安裝的 Qt 庫, 那么你需要如圖 4-8 所示進行設置。

圖 4-8 設置 eclipse 和 MinGW 的路徑(SDK 方式安裝 Qt 庫)
如果采用框架方式安裝,則你的設置應該如圖 4-9 所示。

圖 4-9 設置 eclipse 和 MinGW 的路徑(框架方式安裝 Qt 庫)
接下來,就是一路按下【Next】按鈕直至安裝完成。 至此,Qt 和 Eclipse 的安裝就完成了。
### 4.3.4 使用要領
1\.軟件的啟動
你可以選擇如下方式啟動 Eclipse,依次點擊菜單【開始】->【程序】->【qt eclipse integration】->【開始】,Eclipse 在彈出啟動畫面后,將進入如圖 4-10 所示的主界面。

圖 4-10 Ecilpse 成功啟動
2\.設置默認工作目錄
在第一次啟動 Eclipse 時,軟件會要求設置默認工作路徑,如圖 4-11 所示在其中填入 你的路徑即可。

圖 4-11 設置默認工作目錄
小貼士:設置完默認工作目錄之后,系統就不會再提出此要求了。但日后要想更改的話, 卻找不到設置這一項的地方。因為 Eclipse 在第一次運行時才會去 plugins 目搜索插件, 之后就不再找了。而 Eclipse 不知道是出于什么原因,沒有提供修改的方法。經過摸索, 解決方法有兩種。
一種就是刪除 Eclipse 的 configuration 目錄,讓 Eclipse 以為還是第一次啟動,它 就會去搜索 plugins 找 Qt 插件了。
第二種就是加參數運行 Eclipse。在命令窗口下執行 eclipse.exe -clean 命令,Eclipse 就會清除配置文件然后重新搜索插件配置。
3\.如何安裝調試庫
如果采用 SDK 安裝 Qt 庫,就已經安裝了 debug 和 release 的動態庫;如果采用框架方 式安裝 Qt 庫,默認是不安裝調試庫的,如需運行 Debug 模式,可以進入到 Qt 的 bin 目錄 里面,輸入如下命令即可編譯調試庫。
```
qtvars.bat compile_debug
```
或者依次點擊【開始】->【程序】->【Qt by Nokia v4.5.2(OpenSource)】->【Qt4.5.2(Build Debug Libraries)】,這需要幾個小時的編譯時間和大約 10 個 G 的硬盤空 間,要有耐心,還要有足夠的硬盤容量。
4\.如何建立 Qt 工程
在主菜單上如圖 4-12 所示依次點擊【File】->【New】,就會出現多種可供選擇的 Qt 工程類型,根據你的想法進行選擇即可 。

圖 4-12 新建 Qt 工程
比如選擇 Qt Gui Project,然后在出現的界面上放置一些常見控件,如圖 4-13 所示, Qt Designer 已經無縫的集成到了 Eclipse 中。

圖 4-13 Eclipse 中集成 Qt Designer 4.4Visual Studio 2008(含 Express 版)與 Qt 4.5(含 4.5 的所有版本)
這里我們以 MS Visual Studio 2008 版為例,說明與 Qt 4.5 的集成使用方法,該方法 也適用于 Express 系列。VS 2005 與 Qt 4.5 的集成配置方法與此類似,只是在安裝 VS 2005 時,需要打上 SP1 的補丁。我們更為推薦使用 VS 2008。據 Qt Software 透露的消息,自 Qt 4.6 開始,Qt 將提供針對 MS Visual Studio 系列 的直接安裝版本,這一舉措將大大簡化安裝配置的過程。但是,該版本內置的功能不一定能 夠滿足開發者的需求,所以本文介紹的編譯安裝方法是具有普遍意義的,希望大家能夠用心 掌握。
下面以 Windows XP SP2 中文版為例,介紹如何把這兩者集成使用。
第 1 步,安裝 MS Visual Studio 2008
這一步里面,需要注意的有兩點。一是可以選擇英文版或者是中文版,在整個的安裝 過程中并沒有大的差異。使用中文版時,無論是 VS 2008 還是 2005 都需要安裝 VS 的 SP1 包,否則會出現錯誤,導致安裝失敗。筆者個人喜歡使用英文版;二是安裝時,最好選擇完 全安裝的方式,當然不會用到的語言和模塊比如 VB 和 C#等就可以不選,VC 的所有組件要 全部安裝上去。在網上好多朋友安裝時出現了一些問題,很多都與 VS 安裝時沒有安裝完全 有關。
第 2 步,安裝 Qt 4.5 的源碼
在官方網站的下載地址上下載 Qt 的 SDK,采用默認設置安裝(不熟悉的朋友可以參閱第 2 章),注意版本是隨時可能更新的,官網地址是: http://www.qtsoftware.com/downloads。我們這里選擇 LGPL/Free Downloads,然后選擇 qt-win-opensource-src-4.5.0.zip 解壓,假定解壓到 E:\qt-win-opensource-src-4.5.0 ,注意解壓路徑不要包含空格、 中文名稱以及其它特殊字符,解壓后目錄層次如圖 4-14 所示。

圖 4-14 解壓后目錄層次
第 3 步,配置環境變量 主要是設置兩個環境變量,使用命令行方法如下:
```
set QTDIR=E:\qt-win-opensource-src-4.5.0
set path=%path%;%QTDIR%\bin
```
使用圖形化設置的方法如下:
依次點擊【我的電腦】->【屬性】->【高級】->【環境變量】,彈出【環境變量】設 置對話框,如圖 4-15 所示。
然后點擊【新建】按鈕,彈出【新建用戶變量】對話框,在其中的輸入框中填寫: “變量名” --- QTDIR “變量值” --- E:\qt-win-opensource-src-4.5.0

圖 4-15 添加 Qt 的用戶變量
與上面的步驟相似,修改 PATH 環境變量方法如下:
如圖 4-16 所示,選擇【PATH】變量,然后點擊【編輯】按鈕,在【變量值】的最后面 輸入:
```
;%QTDIR%\bin
```
注意最前面有一個分號(不是中文的分號,切記)。

圖 4-16 編輯 PATH 變量
第 4 步,使用 VS 編譯 Qt 源碼
最好先為 Qt 的 SDK 準備一個目錄,如我的是:E:\Qt\4.5SDK。注意將磁盤格式設置為 FAT 32 格式,NTFS 格式可能會對安裝過程有影響。
然后就開始編譯 Qt 4.5 的源碼。
通過【開始】菜單 ->【Microsoft Visual Studio 2008】->【Visual Studio Tools】, 運行 VS 2008 命令行提示,中間過程如下:
```
C:\Program Files\Microsoft Visual Studio 9.0\VC> cd c:\Program Files\Microsoft Visual Studio 8\Common7\Tools>
C:\Program Files\Microsoft Visual Studio 8\Common7\Tools> vsvars32.bat
C:\Program Files\Microsoft Visual Studio 8\Common7\Tools> e:
E:\> cd e:\qt\4.5sdk\qt
E:\Qt\4.5SDK\qt> configure -platform win32-msvc2008 -debug-and-release
E:\Qt\4.5SDK\qt> nmake
```
使用目前主流機器配置,configure 這一步大概要用一小時。namke 大概要三個多小時。中間可能會有一些警告,可以不理會。
第 1 行和第 2 行,是配置 VC 的環境變量,如何知道環境變量已經配置好了呢?方法是在命令行下運行:
```
cl.exe /?
```
如果輸出了 cl.exe 的幫助說明信息,則表示 vc 編譯器環境變量設置成功。
小貼士:在命令行下,可以通過輸入 set path 、 set include 和 set lib 等命令查 看 path、include、lib 環境變量的設置情況。
configure 命令主要是做兩件事。
一是編譯 qmake,并將編譯好的 qmake.exe 拷貝到 bin 目錄下(這就是要添加"%QTDIR%\bin ”到 PATH 環境變量中的原因)。
二是生成 makefile 文件(包括編譯 qt 的 makefile 文件以及 examples、demos、tools 等的 makefiles 文件)。
configure 的使用是需要仔細琢磨的,可以通過加 -h 參數來看具體有哪些選項,有些 選項前面加*表示默認是選中的,+號表示由系統來判斷是否支持該選項。表 4-2 列出了常 用的 configure 命令的常用參數。
表 4-2 configure 命令的常用參數
| 編譯 shared 版(默認編譯為 shared 版,不需要設置),并且 編譯 debug 和 release 兩個版本 | -debug-and-release |
|:--- |:--- |
| 使用 vc2008(包括 express 版) | -platform win32-msvc2008 |
| 使用 qt 自帶的 zlib、gif、libpng、libmng、libtiff、 libjpeg | -qt-zlib -qt-gif -qt-libpng -qt-libmng -qt-libtiff - qt-libjpeg |
| 編譯數據庫插件支持 sqlite、odbc(需要相應的 C/C++頭文件 和庫的支持) | -plugin-sql-sqlite -plugin-sql-odbc |
| 不支持 qt3 | -no-qt3support |
| 無 mmx 指令集支持 | -no-mmx |
| 無 3dnow 指令集支持 | -no-3dnow |
| 無 sse 和 sse2 指令集支持 | -no-sse -no-sse2 |
| 無 direct3d 支持(默認不編譯 direct3d) | -no-direct3d |
| 無 openssl 支持 | -no-openssl |
| 無 dbus 支持 | -no-dbus |
| 無 phonon 支持以及 phonon 向后兼容性支持 | -no-phonon -no-phonon-backend |
| 不編譯 webkit 模塊 | -no-webkit |
| 不支持腳本工具 scripttools | -no-scripttools |
| 不生成 sln 以及 vcproj 文件,只生成 makefile | -no-dsp -no-vcproj |
使用表中列出的參數,其對應的 configure 命令如下:
```
configure -debug-and-release -platform win32-msvc2008 -qt-zlib -qt-gif -qt-libpng -qt-libmng
-qt-libtiff -qt-libjpeg -plugin-sql-sqlite -plugin-sql-odbc -no-qt3support -no-mmx -no-3dnow
-no-sse -no-sse2 -no-openssl -no-dbus -no-phonon -no-phonon-backend -no-webkit -no-
scripttools -no-dsp -no-vcproj
```
編譯完成之后,最好進行清理以節省硬盤空間,在命令行下輸入:
```
nmake confclean
```
這樣清理完成之后,整個 qt 解壓目錄大小約為 800M 左右。
第 5 步,最后,將 Qt 路徑添加到 VC 編譯環境中。
依次打開【工具】->【選項】->【項目和解決方案】->【VC++目錄】。 在包含文件一欄添加:
```
E:\qt-win-opensource-src-4.5.0\include\QtGui; E:\qt-win-opensource-src-4.5.0\include\QtCore;
E:\qt-win-opensource-src-4.5.0\include
```
在庫文件一欄添加:
```
E:\qt-win-opensource-src-4.5.0\lib
```
將 Qt 安裝路徑添加到 PATH 系統環境變量中,例如:E:\qt-win-opensource-src- 4.5.0\bin(這一步可以省略,在本文的前面已經設置好了)。
第 6 步,安裝 Qt for VS 的插件
要使 VS 中能新建 Qt 的項目及增加相關菜單和支持拖拉控件,還要再安裝一個 Qt for VS 的插件。
在 Qt 的官網上下載該插件,可能的名字為 qt-vs-addin-1.0.2.exe(以你下載到的版 本為準)。在安裝插件的時候可能會報找不到 Qt 目錄,不要管它,只要找準了你剛才編譯 的 Qt 目錄就可以了。
安裝完之后,再次打開 VS2008,就能發現已經支持 Qt 了。 第 7 步,配置和使用 VS
最后需要做的一步是在 VS 中指定使用的 Qt 目錄。如果你在 Windows 上安裝了多個版 本的 Qt Source,在 VS 中你還可以選擇使用哪個版本的 Qt 來編譯你的應用程序。
打開【工具】->【選項】->【Qt】->【Builds】,新建或選擇一個 Qt 版本。
另外,通過菜單【Qt】->【Open Solution from .pro File】,可以把一個原本 Qt 的非 VS 的項目轉成 VS 的項目。
至此,Qt4.5 和 MS Visual Studio 的編譯環境基本上配置完成了,可以進行開發了。
- 第 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 開發社區