I always try to apply the [S.O.L.I.D](http://www.globalnerdy.com/2009/07/15/the-solid-principles-explained-with-motivational-posters/) principles and I really like the Qt toolkit but I find myself stuggeling all the time with the [single inheritance rule](http://doc.trolltech.com/4.5/moc.html#multiple-inheritance-requires-qobject-to-be-first).

> 
> If you are using multiple inheritance,
>  moc assumes that the first inherited
>  class is a subclass of QObject.
>  **Also, be sure that only the first inherited class is a QObject.**
> 
> 
> 

How do you combine the single inheritance from a QObject rule and the *Interface Segregation Principle*.  

I want to define the interfaces with signals and slots, but I'm not allowed to do this.   

How do you get around this shortcomming?