主页 | 所有的类 | 主要的类 | 注释的类 | 分组的类 | 函数 |
Qt对象模型
标准的C++对象模型为对象范例提供了十分有效的运行时刻支持。但是这种C++对象 模型的静态性质在一定的问题领域是不够灵活的。图形用户界面编程就是一个同时 需要运行时刻的效率和高水平的灵活性的领域。Qt通过结合C++的速度为这一领域 提供了Qt对象模型的灵活性。
Qt把下面这些特性添加到了C++当中:
- 一种关于无缝对象通讯被称为信号和槽的非常强大的机制,
- 可查询和可设计的属性,
- 强大的事件和事件过滤器,
- 根据上下文进行国际化的字符串翻译,
- 完善的时间间隔驱动的计时器使得在一个事件 驱动的图形界面程序中很好地集成许多任务成为可能。
- 以一种自然的方式组织对象所有权的分层次和可查询的对象树。
- 被守护的指针,QGuardedPtr,当参考对象被破坏时,可以自动地设置为无效, 不像正常的C++指针在它们的对象被破坏的时候变成了“摇摆指针”。
许多Qt的特性是基于QObject的继承,通过标准C++技术实现的。其他的, 比如对象通讯机制和虚拟属性系统,都需要Qt自己的元对象编译器(moc) 提供的元对象系统。
元对象系统是一种可以使语言更加适用于真正的组件图形用户界面程序的C++扩展。 尽管模板也可以用来扩展C++,元对象系统提供给标准C++而模板所不能提供的益处, 请看为什么Qt不用模板来实现信号和槽?。
Copyright © 2002 Trolltech | Trademarks | 译者:Cavendish | Qt 3.0.5版
|