Dopo averci penato su un po’ di ore sono riuscito a scrivere un paio di test che sfruttano la simulazione di eventi di mouse.

Probabilmente se la nostra applicazione si limitasse ad usare oggetti derivati da QWidget tutto sarebbe andato liscio al primo colpo ma sarebbe stato troppo facile😀

Tutti il nostro framework si basa infatti su oggetti completamente custom quindi l’approccio documentato non si può seguire completamente. Ho dovuto quindi modificare questo file h per poter gestire anche eventi di tipo QGraphicsSceneMouseEvent.
Per fortuna non è stato difficile: ho aggiunto un altro metodo statico analogo a quello esistente che accetta un QObject anzichè un QWidget e fatto qualche altra modifica per inviare i messaggi di tipo adatto (QGraphicsSceneQUALCOSAEvent).

La parte rognosa è stato convincere il mio oggetto a gestire gli eventi simulati che gli mandavo. L’unico modo che ho trovato è stato di fare implementare il metodo Event() per la classe base da cui derivano i nostri oggetti grafici.

Non sono sicuro che sia il modo corretto di procedere ma la mia conoscenza del framework è al momento troppo superficiale per fare di più. Mi riservo di chedere lumi alla community QT: ho idea che non sono in tanti ad aver provato a scrivere test su questi oggetti.
Per fortuna non mi spaventa percorrere strade (relativamente) nuove!😉