Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Qt] Redimensionner une image avec la fenêtre

Sujet résolu
    31 août 2011 à 16:34:16

    Bonjour à tous,

    Je suis en train de créer une application de modification d'images avec Qt. Je souhaiterais pouvoir modifier la taille de l'image en changeant la taille de la fenêtre qui l'a contient avec la souris. Mon image est dans un QLabel qui est dans un QScrollArea.
    Je vous demande s'il existe une fonction "étirement" dans Qt qui permettrait de le faire, ou un SIGNAL qui permettrait de détecter le changement de taille de la fenêtre.



    En vous remerciant d'avance pour votre aide,
    Masbath.
    • Partager sur Facebook
    • Partager sur Twitter
      31 août 2011 à 16:47:03

      Non, pas de signal, mais un événement, que tu peux recevoir dans en redéfinissant resizeEvent ou en installant un filtre d'évènements.
      • Partager sur Facebook
      • Partager sur Twitter
        31 août 2011 à 17:33:47

        Merci beaucoup pour votre réponse, je vais regarder ça.
        • Partager sur Facebook
        • Partager sur Twitter
          14 septembre 2011 à 16:31:46


          Pour ceux qui aurait le même problème que moi, voici ce que j'ai mis :


          void Fenetre::resizeEvent(QResizeEvent *event){      
          label->resize(scrollArea->width(),scrollArea->height());  
              label->setScaledContents(true); 
          }
          



          Ma classe est Fenetre, mon image est placée dans un Qlabel (nommé label) qui est dans un QScrollArea (scrollArea).
          Voilà, c'est tout.


          Masbath.
          • Partager sur Facebook
          • Partager sur Twitter
            22 juin 2012 à 15:34:40

            Avec Qt 4.8, j'ai un problème similaire, à savoir, redimensionner une image affichée à l'écran (QPixMap dans un QLabel)lorsque l'on redimensionne la fenêtre. Les proportions de l'image doivent être respectées.

            J'ai utilisé:
            m_pix.load(name[m_ind]); //m_pix mon QPixMap, l'image étant chargée à partir du fichier name[m_ind]
            setPixmap(m_pix.scaled(450,450,Qt::KeepAspectRatio));
            


            Ma fenetre est dimensionnée au mini à (450,450) au départ.
            A l'affichage, l'image est bien proportionnée.
            Lorsque je redimensionne la fenêtre, mon image n'est pas redimensionnée.
            Je n'ai pas de scroll bar. Je souhaite juste que la taille de l'image suive (en gardant le rapport x/y d'origine) celle de la fenêtre.
            J'ai changé Qt::KeepAspectRatio en Qt::KeepAspectRatioExpanding, mais sans succès (il doit manquer un évènement indiquant le redimensionnement...)
            Une idée?
            • Partager sur Facebook
            • Partager sur Twitter
              22 juin 2012 à 16:36:17

              Là, tu redimensionnes toujours ton QPixmap à la taille (450, 450). Il faut que tu indiques sa nouvelle taille.
              • Partager sur Facebook
              • Partager sur Twitter
                22 juin 2012 à 17:26:10

                OK pour la nouvelle taille; comme je débute avec Qt, je ne sais pas si c'est à moi de lire la taille dans la dimension du port graphique de la fenêtre redimensionnée et d'ajuster en conséquence celle de l'image..
                Y-at'il une méthode qui permette cette liaison (image<>fenetre) automatiquement avec le redimensionnement de la fenetre?
                Par ailleurs, j'aurais besoin de changer la couleur du fond du label portant mon image(pour que le fond de l'image soit de la même teinte), mais je ne vois pas comment...
                • Partager sur Facebook
                • Partager sur Twitter
                  31 janvier 2019 à 10:32:24

                  Bonjour,
                  y a t il quelqu'un qui sait comment redimensionner une image dans un QTextEdit, s'il vous plait?
                  • Partager sur Facebook
                  • Partager sur Twitter

                  [Qt] Redimensionner une image avec la fenêtre

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown