MOC - это компилятор метаобъектов Qt. Он преобразует определенные специфичные для Qt макросы в код C++ и метаинформацию, необходимую для сигналов и слотов Qt, RTTI и системы динамических свойств.

Мета-объектная система основана на трех вещах:

  1. Класс QObject предоставляет базовый класс для объектов, которые могут использовать преимущества мета-объектной системы.
  2. Макрос Q_OBJECT внутри закрытого раздела объявления класса используется для включения функций мета-объекта, таких как динамические свойства, сигналы и слоты.
  3. Компилятор метаобъектов (moc) снабжает каждый подкласс QObject необходимым кодом для реализации функций метаобъекта.