title: When should Q_OBJECT be used?
body: <p>The documentation states that: </p>
  
  <blockquote>
    <p>The Q_OBJECT macro must appear in the
    private section of a class definition
    that declares its own signals and
    slots or that uses other services
    provided by Qt's meta-object system.</p>
  </blockquote>
  
  <p>But <em>exactly</em> what does that mean? On which QObject-derived classes can I safely omit it? Will problems arise if you omit Q_OBJECT on a QObject-derived class, and then inherit from that one? Basically I would like a little more information on when I can omit it from my Qt classes.</p>