Declare o sinal abstrato na classe de interface

Como declarar um sinal Qt em uma classe / interface abstrata quando a classe de implementação já é derivada de QObject / QWidget?

class IEmitSomething
{
   public:
     // this should be the signal known to others
     virtual void someThingHappened() = 0;
}

class ImplementEmitterOfSomething : public QWidget, public IEmitSomething
{
     // signal implementation should be generated here
     signals: void someThingHappended();
}

questionAnswers(4)

yourAnswerToTheQuestion