Partage
  • Partager sur Facebook
  • Partager sur Twitter

[QT]Recuperer saisi d'un QTextEdit

mon prog compile mais plante quand je copie le text

Sujet résolu
    16 avril 2008 à 12:44:35

    Bonjour tout le monde, j'ai suivit les instructions du sujet suivant portant le titre :
    [Qt] Recuperer une saisie d'un QTextEdit

    Le compilateur de Qt me dis que que tout fonctionne très bien mais quand je clique sur le bouton envoyer pour copier mon text d'un QTextEdit à un second, j'ai le message : "le programme ne répond plus et dois se fermer".

    #include <QApplication>
    #include <QWidget>
    #include <QPushButton>
    #include <QTextEdit>
    #include <QString>
    
    #include "Fenetre.h"
    
    Fenetre::Fenetre() : QWidget()
    {
            setFixedSize(450,350);
    
    //création d'autre bouton et fenetre donc code un peut encombrant
    
            QTextEdit *m_textEnvoyer = new QTextEdit(this);
            QTextEdit *m_textRecut = new QTextEdit(this);
    
            m_textEnvoyer->setGeometry(20,190,220,70);
            m_textRecut->setGeometry(20,50,220,130);
    
            m_textRecut->setReadOnly(true);
    
            QPushButton *m_envoyer = new QPushButton("Envoyer", this) ;
    
            QObject::connect(m_envoyer, SIGNAL(clicked()), this, SLOT(envoyer()));
    }
    
    void Fenetre::envoyer()
    {
            QString m_copie = m_textEnvoyer->toPlainText();
            m_textRecut->setPlainText(m_copie);
    }


    sinon j'ai aussi l'archive précompilé plus tout les fichier sources pour ceux qui voudraient des détails.

    merci pour celui qui comprendrais mon probleme.

    PS : le but final étant de créer une fenetre de chat se connectant à un serveur (j'ai déjà la même chose en mode console mais j'essaye de le passer sous Qt pour l'interface graphique)
    • Partager sur Facebook
    • Partager sur Twitter
      16 avril 2008 à 15:19:29

      Salut,
      La solution est toute bête : tu redéclare tes attributs dans le constructeur de ta classe "Fenetre".
      Quand tu écris :

      class Fenetre {
      ...
      private:
               QTextEdit *sentText
      }
      


      il faut ensuite faire :
      Fenetre::Fenetre(QWidget *parent) : QWidget(parent) {
              sentText = new QTextEdit();
      }
      


      et non :
      Fenetre::Fenetre(QWidget *parent) : QWidget(parent) {
               QTextEdit *sentText = new QTextEdit();
      }
      


      Je pense que le bug venait du fait que dans ton slot, les toPlainText() et setPlainText() échouaient car tes QTextEdit étaient déclarés mais pas définis, d'où le fait que cela n'échouait pas à la compilation.

      Bon courage. ;)
      • Partager sur Facebook
      • Partager sur Twitter

      [QT]Recuperer saisi d'un QTextEdit

      × 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