1. Inheriting QObject for Signals / Slots

class Base: private QObject {
   Q_OBJECT
   /*Can use signals and slots like any other QObject-derived class*/
};
class Derived1: public Base {
   /*Cannot use signals/slots because it does not "see" that Base inherits from QObject*/
};
class Derived2: public QWidget, public Base {
   Q_OBJECT
   /*Can use signals/slots plus has all the functionality of QWidget and Base*/
};

2. Undefined refrence to vtable

Ensure all headers are in the .pro file
remove the Q_OBJECT macro
Re-run qmake


3. Inherit QImage, and initialise

It's as simple as calling the constructor, as this manages the allocation of the underlying data structure.
Inherited::clear()
{
  QImage(1,1) ;
}