J'essaie de faire une application pour travailler sur mes astrophotos.
Mais je rencontre des problèmes dans l'affichage d'image contenant un grand nombre de pixels. J'ai simplifié mon application pour se concentrer uniquement sur la fonction permettant de zoomer dans l'image; vous le trouverez en attachement : Imager.zip
L'application est constitué d'un QMainWindow, contenant un QMdiArea, chaque QMdiSubWindow contient un QGraphicsView qui montre une QGraphicsScene qui ne montre qu'une seule QGraphicsPixmapItem. Je fais des zooms dans cette image.
Prenez le projet Imager.zip, et lancer le. Avec l'application Imager ouvrez l'image LittlePicture.png, en plaçant la souris sur l'image et en jouant avec la molette vous pourrez zoomer et dézoomer dans l'image sans problème. Dans QtCreator, l'écran de sortie de l'application, vous voyez la confirmation que chaque appel à QGraphicsView::paintEvent() et suivi d'un appel à QGraphicsPixmapItem::paint()
Maintenant si vous ouvrez l'image BigPicture.jpg et que vous jouez avec la molette de la souris, vous verrez que tous les appels à QGraphicsView::paintEvent() ne sont pas suivi par un appel à QGraphicsPixmapItem::paint() ce qui bien sûr fais disparaître l'image.
Est-ce que quelqu'un sait quel est le problème ? Pourquoi la grande image n'est pas toujours mise à jour ? et quel est le lien avec la taille de l'image ?
Partager