## 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 开发社区