Qt e slot / signal in una classe innestata

Quando sviluppate un progetto in C++, può capitare di trovarsi costretti ad usare la “tecnica” delle classi innestate: una dichiarazione di una classe dentro un’altra dichiarazione di classe.

Vignetta deprimente sulla questione ;)

Se poi il vostro progetto inizia ad espandersi e a complicarsi, magari utilizzando le Qt, potreste aver bisogno di emettere segnali dalla classe innestata e raccoglierli nella classe principale.

EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEErrore!

Si, perchè provando a compilare qualcosa del genere:

Come potete vedere, nella sezione privata della classe principale abbiamo messo una dichiarazione incompleta della classe innestata (un qualcosa di simile ad un “biglietto da visita”), il resto della dichiarazione sarà scritta fuori dalla classe base.
Ora Qt Creator, o qmake, o cmake, o qualunque cosa voi usiate, compilerà con successo!
Buona programmazione.
P.S. Il fumetto è stato realizzato con il servizio “Fumetti di Alice Community“, un bel servizio base IMHO.

P.P.S. Questa non è detto sia la soluzione migliore, o l’unica soluzione, è solo una soluzione funzionante.

UPDATE 06/11/2009

Attenzione! Questo trucchetto non funziona se state creando delle librerie.