meta-object system和property system

原创 2007年09月25日 20:22:00
 一:The meta-object system is based on three things:
  1. The QObject class provides a base class for objects that can take advantage of the meta-object system.
  2. The Q_OBJECT macro inside the private section of the class declaration is used to enable meta-object features, such as dynamic properties, signals, and slots.
  3. The Meta-Object Compiler (moc) supplies each QObject subclass with the necessary code to implement meta-object features.

The moc tool reads a C++ source file. If it finds one or more class declarations that contain the Q_OBJECT macro, it produces another C++ source file which contains the meta-object code for each of those classes. This generated source file is either #include'd into the class's source file or, more usually, compiled and linked with the class's implementation.

In addition to providing the signals and slots mechanism for communication between objects (the main reason for introducing the system), the meta-object code provides the following additional features:

二:QMetaObject

The Qt Meta-Object System in Qt is responsible for the signals and slots inter-object communication mechanism, runtime type information, and the Qt property system. A single QMetaObject instance is created for each QObject subclass that is used in an application, and this instance stores all the meta-information for the QObject subclass. This object is available as QObject::metaObject().

This class is not normally required for application programming, but it is useful if you write meta-applications, such as scripting engines or GUI builders.

三:QPropertySystem

Changes to the Meta-Object System in Qt 5

There are changes to the meta object-system in Qt 5, both under the hood and on the API side. Some o...
  • deyili
  • deyili
  • 2012年07月19日 10:32
  • 1098

The Meta-Object System

The Meta-Object System Qt元对象系统为对象之间的交互提供了信号与槽机制,运行时信息和动态属性系统。 元对象系统基于三件事: 1.      Qobject类作为所有要利用...

Inside QT Series (三):元对象系统(Meta-Object System)

从本节开始,我们讲解 QT Meta-Object System 的功能,以及实现。     在使用 QT 开发的过程中,大量的使用了 signal 和 slot. 比如,响应一个 button...
  • ruglcc
  • ruglcc
  • 2012年09月10日 11:20
  • 750

The Meta-Object System(Qt元对象系统)

Qt’s meta-object system provides the signals and slots mechanism for inter-object communication, run...

Qt Meta Object system 学习(二)

Qt Meta Object system 学习(二) 与前一篇 相隔了近两个月,这次关注一下: Qt属性系统(Qt's Property System) 使用 使用 Q_PROPER...
  • ilvu999
  • ilvu999
  • 2012年10月08日 20:53
  • 624

Qt Meta-Object System

转自:http://blog.sina.com.cn/s/blog_640531380100sikl.html Qt的Meta-Object System提供了signals/slo...

Qt Meta Object system 学习(三)

Qt Meta Object system 学习(三) 看 ActiveQt 模块的源码,看到信号槽部分,实在看不懂了,只好回来继续学习 元对象系统 了。 在 Qt Meta Object s...
  • ilvu999
  • ilvu999
  • 2012年10月08日 20:58
  • 870

Inside QT Series (五):元对象系统(Meta-Object System)

从本节开始,我们讲解 QT Meta-Object System 的功能,以及实现。     在使用 QT 开发的过程中,大量的使用了 signal 和 slot. 比如,响应一个 button...
  • ruglcc
  • ruglcc
  • 2012年09月10日 14:31
  • 1050

qt meta-object system

Qt 使用的是自己的预编译器,它提供了对 C++ 的一种扩展。利用 Qt 的信号槽机制,就可以把彼此独立的模块相互连接起来,不需要实现知道模块的任何细节。 为了达到这个目的,Qt 提出了一个 M...

Qt 元对象系统(Meta-Object System)

Qt的元对象系统基于如下三件事情: 1. 类:QObject,为所有需要利用原对象系统的对象提供了一个基类。 2. 宏:Q_OBJECT,通常可以声明在类的私有段中,让该类可以使用元对象对象的特性...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:meta-object system和property system
举报原因:
原因补充:

(最多只允许输入30个字)