Partage
  • Partager sur Facebook
  • Partager sur Twitter

QT extraire le texte du lineEdit

Sujet résolu
    14 mai 2008 à 6:06:27

    Comment faire pour extraire le texte contenu dans le "lineEdit" du label "monLabel"?
    Voici un extrait du programme:


    #include <QtGui>
    #include "Window.h"
    
    
    Window::Window(QWidget *parent)
        : QDialog(parent)
    {
    ...
    monLabel = creerLabel("Entrer mot de passe: ");
    }
    ...
    ...
    /* Creation des Labels*/
    QLabel *Window::creerLabel(const QString &text)
    {
    QLabel *label = new QLabel(text);
    
    label->setFont(QFont("Times", 13, QFont::Bold));
    
    QLineEdit *lineEdit = new QLineEdit(label);
    
    lineEdit->setEchoMode(QLineEdit::Password);
    
    label->setBuddy(lineEdit);
    return label;
    }
    
    
    void Window::execute()
    {
    QString pass = monLabel.lineEdit->text();
    QMessageBox::information(this, "Titre de la fenêtre", "Votre mot de passe est lesuivant", pass);
    }
    

    Aparament "monLabel.lineEdit->text()" ne marche pas!
    je suis completemen bloque.
    merci d'avance pour les suggesions.


    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      14 mai 2008 à 13:10:29

      QMessageBox::information(this, "Titre de la fenêtre", "Votre mot de passe est le suivant"+pass); /*Concaténation*/
      


      • Partager sur Facebook
      • Partager sur Twitter
        14 mai 2008 à 16:40:20

        monLabel->text()
        

        EDIT : Et il y a beaucoup d'incongruité dans ton code...
        • Partager sur Facebook
        • Partager sur Twitter
        Altarapp.com - Applications, Code Snippets, API Wrappers et etc, le tout en C# le plus clair du temps!
          14 mai 2008 à 21:11:21

          Ce n'est qu'un extrait du programme...
          j'ai essayé "monLabel->text()", mais sa renvoye le texte du label pas celui du "LineEdit" (texte entre par l'utilisateur).

          Aucune suggestions?
          • Partager sur Facebook
          • Partager sur Twitter
            14 mai 2008 à 21:51:57

            QLineEdit *lineEdit = new QLineEdit(label);
            
            lineEdit->setEchoMode(QLineEdit::Password);
            
            label->setBuddy(lineEdit);
            return label;
            }
            


            c'est normal, tu ne garde pas (de par un attribut de classe) le pointeur "lineEdit" avant la fin de la méthode.

            dans cette ligne-ci :

            ... monLabel.lineEdit->text();
            


            lineEdit n'est pas un attribut (public non-pointeur) de monLabel.

            Je te dirais de réviser le tutoriel sur les classes :)
            • Partager sur Facebook
            • Partager sur Twitter
            Altarapp.com - Applications, Code Snippets, API Wrappers et etc, le tout en C# le plus clair du temps!
              14 mai 2008 à 22:30:53

              Est-il possible de creer une methode (getLineEdit()) a l'interieur de la methode "creerMonLabel()" pour recuperer la valeur du "lineEdit" de "monLabel"?
              sinon quel est le bon astuce? car je suis completement perdu.


              • Partager sur Facebook
              • Partager sur Twitter
                25 mai 2008 à 14:05:37

                Salut, essaye plutôt un truc dans ce genre:
                connect(lineEdit, SIGNAL(textChanged(QString)), monLabel, SLOT(setText(QString)));
                
                • Partager sur Facebook
                • Partager sur Twitter
                  27 mai 2008 à 4:16:20

                  merci beaucoup pour vos suggestions.
                  j'ai du reconstruire la classe (en gros je l'ai allege).
                  • Partager sur Facebook
                  • Partager sur Twitter

                  QT extraire le texte du lineEdit

                  × 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