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:


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.


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

Qt’s meta-object system provides the signals and slots mechanism for inter-object communication, run...
  • can3981132
  • can3981132
  • 2016年09月14日 08:37
  • 191


Meta-Object系统为我们提供了信号-槽机制、运行期类型信息和动态属性系统。   Meta-Object系统是基于以下三点才能正常运行的: 1.      QObject做为一个基类,让派生至它...
  • feng1790291543
  • feng1790291543
  • 2015年03月13日 21:23
  • 750


Meta-Object系统 标签:Qt C++ 学习 QT教程 教程 前面说过,Qt使用的是自己的预编译器,它提供了对C++的一种扩展。利用Qt的信号槽机制,就可以把彼此独立的模块...
  • xzh_blue
  • xzh_blue
  • 2015年09月10日 11:34
  • 334

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

Qt 元对象系统(Meta-Object System)Qt的元对象系统基于如下三件事情:1.       类:QObject,为所有需要利用原对象系统的对象提供了一个基类。2.       宏:Q_...
  • aladdina
  • aladdina
  • 2010年04月17日 15:53
  • 6764

The Meta-Object System

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

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

Qt的元对象系统(meta-object system)提供信号与槽机制,可用于对象间通信、运行时类别信息(RTTI)和动态属性系统。   元对象系统基于三个方面: QObjec...
  • foreverhuylee
  • foreverhuylee
  • 2015年07月04日 16:23
  • 510

intellij install 报 -Dmaven.multiModuleProjectDirectory system property is not set 解决办法

网上搜了很多都是eclipse的,还有把property写成propery的在搜索结果出现了好多条 实际解决办法和eclipse差不多,先在系统中设置环境变量M2_HOME指向你的maven安装...
  • lihuaijun
  • lihuaijun
  • 2016年04月18日 16:57
  • 13124

qt meta-object system

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

IDEA 报 -Dmaven.multiModuleProjectDirectory system property is not set 解决办法

实际解决办法和eclipse差不多,先在系统中设置环境变量M2_HOME指向你的maven安装目录,再在VM Options中设置:-Dmaven.multiModuleProjectDirector...
  • lisulong1
  • lisulong1
  • 2016年10月03日 20:44
  • 2495

在myeclipse工具中执行maven build异常 -Dmaven.multiModuleProjectDirectory system property is not set. Check $

解决办法 在 MyEclipse中点击Window-->Preferences-->java 选中JDK 点击编辑 然后将值赋值给Default VM Argum...
  • mexican_jacky
  • mexican_jacky
  • 2015年12月11日 10:57
  • 5987
您举报文章:meta-object system和property system