## 3.5 問題與解答
問:有了 MFC,還可以使用 Qt,我還有學習 Windows API 編程的必要嗎?
答:應用 Windows API 編程時,要依據在前面講解的基本步驟,而且要詳細考慮到對 可能接收到的消息的具體處理。應用 Windows API 編程是可視化編程的基礎,不像直接利
用 MFC 編程。利用 MFC 編程時,部分框架的代碼是由該類庫自動生成的, MFC 自己定義了一套編程模式,并且對自己實現的機制隱藏的比較深,用戶必須遵守才不致出現問題; Qt 與 MFC 類似,它也是一套類庫,用以幫助開發者快速構建應用,但是 Qt 使用標準 C++,并且做了擴展,它同樣為使用者封裝了很多底層的機制,但當你需要深入的開發一些功能時,你 仍然需要對本地平臺有深入的了解;而利用 Windows API 函數進行編程,所有的代碼需要 用戶自己完成,雖然編寫程序比較繁雜,但能從根本上理解可視化編程的體系。所以,無論你是使用 MFC 還是 Qt 類庫,都需要掌握 Windows API 編程。
問:Mac OS X 與 Linux 的異同
答:這個問題還是很有必要說一下,事實上很多使用 Mac OS X 的朋友也發現了,如果 你很熟悉 Linxu 下的命令行操作,在 Mac 的終端下也會一樣的控制自如,其重要的原因之 一就是兩個操作系統確實有密切的聯系。
簡單說,Mac OS X 是在 BSD 系統的基礎上發展起來的,可以叫做 Darwin BSD,是基于 DarwinBSD 的類 UNIX 發行版,所以它的架構是類似 Linux 的。但是它并不開源, 借助于與 UNIX 的親緣關系,它同樣也可以使用大量的 GNU 的開源軟件
linux 和 MacOS 是同一源頭 ,都是屬于類 UNIX 系統家族 。
問:我剛入手了 MAC,想在上面編程,可是聽說 MAC 上的寫程序就是相對很弱了,找了 很久也沒找到 VC,VB 什么的,真的這么難嗎?
答:不是這樣的,我想你首先要了解的是, MAC OS X 是類 Unix 系統,所以在它上面編 程與在 Linux 上是類似的,但也有一些區別 ,所以 Unix/Linux 上的編程工具通常都能在 Mac 上使用。最開心的就是你同樣可以使用 Qt。在 Mac 上你可以編寫幾乎所有的高級編程 語言程序, 如 C, C++, Cocoa, Java, Fortran, python, ruby,等等。喜歡手寫代碼的話, 你可以使用 gcc/g++編譯器,;喜歡用集成開發環境的話, 你可以用 Xcode + Interface Builder, 都是免費的。慢慢的,你會發現在 Mac 下的編程并不比 Windows 上弱,甚至某些 方面更方便、更強大。
另外要指出的是,Microsoft, Visual Studio 是 Windows 平臺專屬的 IDE,是商業授 權的產品,并且不能跨平臺使用,你在 Mac 上是找不到它的。
問:Xcode 是不是只能在 Mac 上運行,Windows 上能不能用?要學編程的話是不是只用 學 C++就行了?
答:Xcode 只能在 Mac 上運行,但寫出來的程序可以在 Mac 上運行,也能運行在 iPhone 上。
Xcode 支持多種語言,例如 C/C++/Java/AppleScript Studio 等,你還可以去另裝其他 語言的支持,如 Pascal。但是用 Xcode 編程,語言方面的最佳選擇是 Objective-C,它是 蘋果 Cocoa 架構應用程序的所謂“母語”。
學習什么語言并不是十分重要,關鍵是要掌握編程的基本原理,熟練使用一種語言如 C++后,有時間再學習其它的語言,就會很快的觸類旁通了。
問:請推薦幾個比較好的討論 Mac 編程的中文論壇?
答:關于 Mac 的綜合性的論壇還是不少的,但大多數很少涉及編程開發的話題 ,這其 中的中文論壇更是少見。以下論壇還不錯,在線人數很多,但是繁體中文的 ,供你參考。
+ http://www.sinomac.com/
+ http://www.imacguru.com
問:在 Mac 上編程的話,我是要側重掌握 Carbon 還是 Cocoa 呢?
答:Carbon 主要是為 os 9 到 os x 過渡的應用所采用的 C 和 C++環境,并非面向對 象。carbon 應用能在 os 9 和 x 都能運行。但隨著 os x 的出現,使用 carbon 編程的人正在 逐漸減少。
Cocoa 是比較先進的 OOP 環境,可以寫較少的程序編出較復雜的應用。應用語言主要是 Objective-C 或標準 Java,也可以使用其它語言。它也是一種事件驅動的應用平臺,是特別 為 Mac OS X 設計的一套面向對象的 Framework,因此無法在 Mac OS 8/9 上面運行。
但是,Carbon API 所寫的老程序移植到 Mac OS X 會相對容易,而僅僅在部分情況 下,Mac OS X 下的使用 Carbon API 的程序可以不加修改在 Mac OS 8/9 上面運行
所以,我推薦你重點掌握 Cocoa,但是了解和學習一下 Carbon 上的知識與應用并沒有 害處。
- 第 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 開發社區