Bonjour,
j'effectue actuellement le portage d'une application Qt 4 vers Qt 5.
Je rencontre de nombreux problèmes avec l'utilisation des QGraphicsItem dans une QGraphicsScene . Je précise que cela marchait très bien avec mon ancienne version précédente de Qt 4.8.1.
Je remplis ma scène de widgets en utilisant bien sur les classes proxy QGraphicsProxyWidget . J'avais un problème de repaint quand j’appelais manuellement la méthode update() sur un QGraphicsItem. Le repaint n'était jamais appelé. Pour corriger ce problème, j'ai supprimé l'appel à cette fonction setCacheMode(QGraphicsItem::DeviceCoordinateCache) sur mon QGraphicsProxyWidget : en effet, le système de cache semblait empêcher l'appel à la méthode repaint lors de l'invocation de update().
Cependant, en supprimant cet appel à la fonction, je me retrouve avec des problèmes collatéraux. Dans certaines scènes de mon application (toute utilisant le même principe), seul le background est affiché et les objets dedans (QGraphicsItem) ne sont jamais affichés. Si je remet le système de cache, tout est oki.
Vous avez des idées de comment corriger ce problème? Je suis vraiment embêté car je pensais réellement que le portage Qt 4-Qt 5 serait plus facile qu'un portage Qt 3-Qt 4 mais je galère autant .
En vous remerciant d'avance de votre réponse.
Partager