Partage
  • Partager sur Facebook
  • Partager sur Twitter

selectionner et redimensionner une image

Qt QTextEdit

    31 janvier 2019 à 14:38:42

    Bonjour à tous,

    mon projet s'agit de developper un editeur de text en utilisant Qt.

    Tout est bien l'éditeur fonctionne. Je peux même insérer des images dans un QTextEdit, faire le zoomIn et le zoomOut.

    Mon problème c'est que je veut redimensionner et déplacer l'image en utilisant la souris (comme dans le Word).

    J'ai trop cherché mais je n'ai pas trouvé une solution sachant que je suis débutante en Qt.

    Y a t il quelqu'un qui peux m'aider, s'il vous plait?

    merci d'avance

    -
    Edité par SalwaThouir1 31 janvier 2019 à 14:40:06

    • Partager sur Facebook
    • Partager sur Twitter
      31 janvier 2019 à 15:13:17

      Là comme ça j'aurais dit qu'il aurait fallu un QGraphicScene, ça m'étonne que l'on puisse mettre des images dans un QTextEdit.

      Mais si c'est possible, alors je pense qu'il faut redéfinir les méthodes mousePressEvent, mouseReleaseEvent et mouseMoveEvent du QTextEdit.

      • Partager sur Facebook
      • Partager sur Twitter
        31 janvier 2019 à 15:27:16

        En faite pour insérer une image dans un QTextEdit, j'ai converti l'image à la base64 (en untilisant QByteArray::toBase64) et ça fonctionne très bien. Je dois utiliser le QTextEdit parce que je dois implémenter un éditeur comme le Word.

        Concernant les méthodes mousePressEvent, mouseReleaseEvent et mouseMoveEvent, j'ai pas pu les adapter à mon projet vu que je suis encore débutante.

        Pourriez vous expliquer encore plus s'il vous plait? Que dois je faire exactement?

        • Partager sur Facebook
        • Partager sur Twitter
          31 janvier 2019 à 18:54:10

          Pour cela il faut redéfinir la classe QTextEdit si tu ne l'as pas encore fait. Puis tu redéfinis les 3 méthodes :

          class MyTextEdit : public QTextEdit
          {
          protected:
          
             virtual void mouseMoveEvent(QMouseEvent *event)
             {
                //event->x();
                //event->y();
             }
          
             virtual void mousePressEvent(QMouseEvent *event)
             {
          
             }
          
             virtual void mouseReleaseEvent(QMouseEvent *event)
             {
          
             }
          };

          Après je te laisse séparer dans les fichiers cpp et h. ;)

          Tu peux ensuite utiliser un booléen pour dire que tu choppes ton image dans le press, et la relache dans le release. Tu peux ensuite récupérer les positions x, y pour set la position de l'image. :)

          Je sais pas trop ce que ça peux donner étant qu'un text edit n'est pas fait pour ça.

          Je ne sais même pas si tu peux set une position dans un TextEdit.

          -
          Edité par Maluna34 31 janvier 2019 à 18:54:45

          • Partager sur Facebook
          • Partager sur Twitter

          selectionner et redimensionner une image

          × 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