このリンク: http://doc.trolltech.com/4.5/moc.html#mocは言う
moc ツールは、C++ ヘッダー ファイルを読み取ります。Q_OBJECT マクロを含む 1 つ以上のクラス宣言が見つかった場合、それらのクラスのメタオブジェクト コードを含む C++ ソース ファイルが生成されます。
メタオブジェクト コードとは
編集1
どのクラスで Q_OBJECT を書くべきかを知る方法は? 一例はシグナルとスロットですが、それを使用する必要がある他のケースはありますか?