. asm s'il te plait
Non, plus sérieusement, les widgets Qt contiennent les données qu'ils affichent. Donc quand tu crées un objet orienté "données à traiter", t'as le choix : ou ça contient aussi du graphisme, ou alors tu ne mets que des copies de data dans ton objet, mais ça oblige à faire de la synchro widgets/data dès qu'on fait un clic. Ca oblige aussi à des vas-et-viens continuels entre le Model et l'UI dès qu'on fait un clic (contrôle de cohérence).
Théoriquement, ça peut se gérer avec des signaux/slots, mais à un moment tu satures, tu ne comprends plus ce qui se passe. Et la facilité de maintenance/refactoring théoriquement gagnée par un modèle clair disparait complètement devant la complexité des interactions.
Ma méthode, batarde, consiste à traiter les données basiquement au niveau de l'UI. Et quand on doit lancer un process complexe, je crée un thread, un objet de données extraites de la partie graphique, et ça fait le taf de traitement.
Ca évite les problèmes de synchro, vu qu'on envoie les données utiles une seule fois dans l'objet Data quand on lance le traitement, par contre ça oblige à faire un peu de traitement de données au niveau UI, pour assurer un affichage cohérent.
C'est pas parfait, mais c'est ce que j'arrive à faire de mieux côté simplicité.