首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Q_OBJECT宏和元对象代码

Q_OBJECT宏和元对象代码
EN

Stack Overflow用户
提问于 2011-05-03 07:24:32
回答 4查看 1.4K关注 0票数 1

这个链接:http://doc.trolltech.com/4.5/moc.html#moc

moc工具读取一个C++头文件。如果它找到一个或多个包含Q_OBJECT宏的类声明,它将生成一个包含这些类的元对象代码的C++源文件。

什么是对象代码?

编辑1

如何知道我应该在哪些类中编写Q_OBJECT?一个例子是信号和插槽,还有其他需要使用的情况吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-05-03 07:34:38

元对象通过创建新对象或操作现有对象来增强编程语言。它们提供了语言本身并不具备的功能。元对象由编译时或运行时解释。在Qt和C++中,它是在编译期间由(moc)完成的。

一个例子是信号/时隙概念的使用。

票数 2
EN

Stack Overflow用户

发布于 2011-05-03 07:31:44

您可以阅读Qt内件与倒置一文,深入了解Qt及其moc编译器(meta编译器)。总之,Qt的moc编译器创建了一个元对象,以向类添加额外的信息,如信号/插槽机制等。

票数 4
EN

Stack Overflow用户

发布于 2011-05-03 07:33:47

Qt环境中的元对象代码是一个C++源文件,它是C++源文件的扩展版本,您在其中放置了Q_OBJECT (和/或其他相关宏)。元对象代码将有您的实现和其他一些额外的(元)代码,以便信号和插槽机制工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5866400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档