Qt学习(1)
来源:互联网 发布:图书馆数据库 编辑:程序博客网 时间:2024/05/29 18:39
摘自:C++ GUI Qt4 编程(第二版),C++ GUI Programming with Qt4,Second Edition
Qt使用了独创的“元对象系统”对C++进行了扩展。其中包括两项关键技术:信号-槽以及内省(introspection)。内省功能对于实现信号和槽式必需的,并且允许应该用程序开发人员在运行时获得有关QObject子类的“元信息”(meta-information),包括一个含有对象的类名以及它所支持的信号和槽的列表。这一机制也支持属性(广泛用于Qt设计师中)和文本翻译(用于国际化)。并且它也为QtScript模块奠定了基础。
标准C++没有对Qt的元对象系统所需要的动态元信息提供支持。Qt通过独立的moc工具解决了这个问题,moc解析Q_OBJECT类的定义并且通过C++函数来提供可供使用的信息。由于moc使用纯C++来实现它所有的工鞥,所以Qt的元对象系统可以在任意C++编译器上工作。
这一机制是这样工作的:
Q_OBJECT宏声明了在每一个QObject子类中必须实现的一些内省函数:metaObject()、tr()、qt_metacall(),以及其他一些函数。
Qt的moc工具生成了用于由Q_OBJECT声明的所有函数和所有信号的实现
像connect()和disconnect()这样的QObject的城阳函数使用这些内省函数来完成它们的工作。
由于所有这些工作都是由qmake、moc和QObject自动处理的,所以Qt用户很少需要考虑这些问题。
- Qt学习(1)
- Qt学习(1)
- (Qt学习1)Qt环境搭建
- QT QImage使用方法(Qt学习1)
- Qt 多线程学习(1)
- Qt学习备忘录(1)
- QT学习笔记(1)
- QT的学习(1)
- Qt学习使用(1)
- Qt学习笔记(1)qt配置与HelloWord
- Qt学习笔记第1篇(Qt简介)
- qt 学习笔记(1) xml
- Qt内存回收机制(学习1)
- QT学习遇到的问题(1)
- Qt学习第一天(1)
- Qt学习笔记(1):编译步骤
- QT开发学习资料(1)
- 【持续更新】qt学习笔记(1)
- javascript类型判断 typeof instanceof constructor
- 如何查询第m条到第n条记录
- 局域网内网络断断续续?ARP攻击?
- 隐藏SSMS和Visual Studio上广播的SQL Server服务器名
- js技巧
- Qt学习(1)
- python 私有机制
- Source Insight 3.5 序列号分享
- linux重定向命令应用及语法
- DataGridVew实现凭证
- 编写函数reverse(s),将字符串s中的字符顺序颠倒过来
- 程序减肥三步走
- MFC 文件传输简易编程
- unity性能优化(一)