这个链接:http://doc.trolltech.com/4.5/moc.html#moc说
moc工具读取一个C++头文件。如果它找到一个或多个包含Q_OBJECT宏的类声明,它将生成一个包含这些类的元对象代码的C++源文件。
什么是元对象代码?
编辑1
如何知道我应该在哪些类中编写Q_OBJECT?一个例子是信号和插槽,还有其他需要使用的情况吗?
发布于 2011-05-03 07:34:38
元对象通过创建新对象或操作现有对象来增强编程语言。它们提供了语言本身并不具备的功能。元对象由编译时或运行时解释。在Qt和C++中,它是在编译期间由(moc)完成的。
一个例子是信号/时隙概念的使用。
发布于 2011-05-03 07:31:44
您可以阅读Qt内件与倒置一文,深入了解Qt及其moc编译器(meta编译器)。总之,Qt的moc编译器创建了一个元对象,以向类添加额外的信息,如信号/插槽机制等。
发布于 2011-05-03 07:33:47
Qt环境中的元对象代码是一个C++源文件,它是C++源文件的扩展版本,您在其中放置了Q_OBJECT (和/或其他相关宏)。元对象代码将有您的实现和其他一些额外的(元)代码,以便信号和插槽机制工作。
https://stackoverflow.com/questions/5866400
复制相似问题