QObject类实现信号与槽机制的方式主要依赖于Qt的元对象系统。元对象系统包括三个重要的组成部分:QObject类,它是所有使用元对象系统的基类;Q_OBJECT宏,它使得类可以使用元对象特性;以及moc(meta-object-compiler,元对象编译器),它预处理包含Q_OBJECT宏的类。
我们可以认为Qt对C++进行了一些拓展,moc则是负责将这些拓展语法翻译成原生的C++语法,之后交给C++编译器去编译。
Qt 的优点、缺点
优点:
跨平台,几乎支持所有平台
接口简单,文档详细
开发效率高
缺点:
Qt 作为一个软件平台,比较庞大、臃肿。