IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Discussion :

Récupérer valeur lineEdit Form1 dans une autre Form


Sujet :

Qt

  1. #1
    Invité
    Invité(e)
    Par défaut Récupérer valeur lineEdit Form1 dans une autre Form
    Bonjour,

    Voila je suis en train de développer un programme dans lequel j'ai besoin de récupérer le texte (login) écrit dans une lineEdit d'une Form1 dans une Form3 afin de pouvoir passer en paramètre ce texte (login) en paramètre d'une fonction d'une classe C++. En l'occurence une classe appelée CApplication.

    Voici le code source de la fonction en question:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    void CApplication::InitialiserPilotage(char*login,unsigned char CodeHouse, char * CodeUnit, unsigned char action, unsigned char luminosite)
    {
          CTrame Trame;
     
         Trame.HouseID=CodeHouse;
         sprintf(Trame.DeviceID,"%s",CodeUnit); 
         strcpy(Trame.ValDimOrBright,"07");	    
         sprintf(Trame.Login,"%s",login");	    
         Trame.Action=action;	
     
         Piloter(Trame); 
    }
    Le problème c'est que je n'ai aucune idée de la manière à procéder afin de récupérer ce "login" dans ma Form3

    Si quelqu'un pouvait m'aider ce serait super

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Bonjour.
    Pas trés claire ton problème...
    Tu peut créé une fonction qui te donne tes valeurs ou emmètre un signale une fois la login récuperer.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Excusez moi de ne pas avoir été clair

    Donc en faite dans ma form1 je rentre un login dans une lineEdit, ensuite suite a l'appui d'un bouton j'ouvre une autre Form(form3). A partir de cette form3 j'appelle la fonction initialiserPilotage() et j'aimerai lui passé en paramètre le login qui à été entré dans la form1.

    Donc c'est pour cela que je cherche comment pouvoir récupérer dans ma form3 le login en question !

    Cordialement,


    Edit : Je suis sous Qt3 linux !

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Pourquoi ne le lui donne pas la valeur lorsque tu ouvre form3??

  5. #5
    Invité
    Invité(e)
    Par défaut
    Je voudrai bien mais je ne sais pas vraiment faire

    Comme ceci tu veux dire ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Form3 *w =new Form3(this,lineEdit1->text()); // Création d'un objet de type Form qui pointe sur lui meme
    w->show();

  6. #6
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par jeanjean8501 Voir le message
    Je voudrai bien mais je ne sais pas vraiment faire

    Comme ceci tu veux dire ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Form3 *w =new Form3(this,lineEdit1->text()); // Création d'un objet de type Form qui pointe sur lui meme
    w->show();
    oui, ou un truc comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Form3 *w =new Form3(this); 
    w->setLogin(lineEdit1->text());
    w->show();

  7. #7
    Invité
    Invité(e)
    Par défaut
    Merci pour ta réponse ! Donc si j'ai bien compris il faut que je crée une fonction setLogin, GetLogin et que je crée une variable globale dans mon Form3

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    QString Login;
     
    void Form3::SetLogin(string Log)
    {
        Login=Log;
    }
    string Form3::GetLogin()
    {
        return Login;
    }
    Comme ceci ?

  8. #8
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    pourquoi global????

  9. #9
    Membre expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Points : 3 266
    Points
    3 266
    Par défaut
    Je pense (j'espère ) que par "globale" il entendait une variable de classe et non une variable globale

  10. #10
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par IrmatDen Voir le message
    Je pense (j'espère ) que par "globale" il entendait une variable de classe et non une variable globale
    vue son exemple je croit qu'il parlais bien de globale....

  11. #11
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par IrmatDen Voir le message
    Je pense (j'espère ) que par "globale" il entendait une variable de classe et non une variable globale
    Euh ! Je ne vois pas comment faire alors !

  12. #12
    Invité
    Invité(e)
    Par défaut
    Je sais que c'est un peu osé, mais auriez vous un exemple de code source, car la on peut dire que je suis légèrement dans le brouillard !

  13. #13
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par jeanjean8501 Voir le message
    Je sais que c'est un peu osé
    no mais ho
    je déconne

    on ne doit pas se comprend ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    class Form3 : public Q____
    {
    ...
     
    void setLogin(QString Log);
    QString GetLogin();
     
    private :
     QString m_login;
    }
    ici la string est une variable locale à la class Form3

  14. #14
    Invité
    Invité(e)
    Par défaut
    Merci sa marche niquel, sa fait exactement ce que je souhait ! Le truc que je ne savais pas c'est qu'on pouvait editer les Form*.h et .cpp ! Donc c'est pour cela que dès le début on était pas sur la même longueur d'ondes !

    Par contre j'ai dut mettre les méthodes directement dans le .h et non dans le .cpp car les modifications effectuées manuellement dans le form.cpp sont effacés après chaque compiles ! ( C'est écrit dans le header ).

    Sinon encore merci ton aide et ta patience m'ont été précieuses

  15. #15
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Oula...
    Il ne faut jamais modifier les fichier auto générer.
    Il faut que tu créé une nouvelle class qui hérite de ta forme.
    Tu est en Qt3?

  16. #16
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Mongaulois Voir le message
    Tu est en Qt3?
    Citation Envoyé par jeanjean8501 Voir le message
    Je suis sous Qt3 linux !
    Citation Envoyé par Mongaulois Voir le message
    Il ne faut jamais modifier les fichier auto générer.
    Il faut que tu créé une nouvelle class qui hérite de ta forme.
    C'est bien ce que je me disait

    Donc il faut que je fasse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    class NewForm3 : public Form3
    {
    public:
    void setLogin(QString Log);
    QString GetLogin();
     
    private :
     QString m_login;
    }
    Mais après comment faire pour rappeler setLogin dans la form1 et GetLogin dans la Form3 ?

  17. #17
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    tu utilise NewForm3 au lieu de Form3

  18. #18
    Invité
    Invité(e)
    Par défaut
    Voila la classe "MaClasse" hérite de form3, mais lors de la compile il y à des erreures que je n'arrive a comprendre

    Voici le code de ma classe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    #ifndef MaClasse_H
    #define MaClasse_H
     
    #include "form3.h"
     
    class MaClasse : public Form3
    {
        private :
    	QString m_login;
     
        public :
    	MaClasse (); // Constructeur par defaut
    	~MaClasse (); // Destructeur par defaut	
    	void setLogin(QString Log);
                    QString GetLogin();
    }
    #endif
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #include "MaClasse.h"
     
    MaClasse::MaClasse() {};
    MaClasse::~MaClasse() {};
     
    void MaClasse::setLogin(QString log)
    {
    	m_login=log;
    }
    QString MaClasse::GetLogin()
    {
    	return m_login;
    }
    et voici les erreures :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    g++ -c -pipe -Wall -W -O2  -DQT_NO_DEBUG -DQT_SHARED -DQT_THREAD_SUPPORT -I/usr/lib/qt3/mkspecs/default -I. -I/usr/include/mysql -I/usr/lib/qt3//include -Iui/ -I. -Imoc/ -o obj/MaClasse.o MaClasse.cpp
    MaClasse.cpp:3: error: new types may not be defined in a return type
    MaClasse.cpp:3: note: (perhaps a semicolon is missing after the definition of ‘MaClasse’)
    MaClasse.cpp:3: error: return type specification for constructor invalid
    make: *** [obj/MaClasse.o] Erreur 1

  19. #19
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    il faut un ; a la fin de la déclaration de la class

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    #ifndef MaClasse_H
    #define MaClasse_H
     
    #include "form3.h"
     
    class MaClasse : public Form3
    {
        private :
    	QString m_login;
        
        public :
    	MaClasse (); // Constructeur par defaut
    	~MaClasse (); // Destructeur par defaut	
    	void setLogin(QString Log);
                    QString GetLogin();
    };
    #endif

  20. #20
    Invité
    Invité(e)
    Par défaut
    Aye l'erreur de débutant

    Par contre maintenant je ne vois pas comment réutiliser get et set login

    Car vu que "maClasse" hérite de "form3" je ne vois pas comment réutiliser les méthodes de "maClasse"

Discussions similaires

  1. recuperer la valeur d'un DBEdit d'une form dans une autre form
    Par Abou Zar dans le forum Bases de données
    Réponses: 4
    Dernier message: 27/06/2010, 08h33
  2. Réponses: 3
    Dernier message: 03/02/2010, 12h39
  3. comment avoir une valeur d'une form1 dans un autre form
    Par sabrina_beautyful dans le forum Windows Forms
    Réponses: 3
    Dernier message: 18/05/2009, 14h53
  4. Réponses: 2
    Dernier message: 02/04/2008, 19h55
  5. Réponses: 1
    Dernier message: 05/05/2006, 14h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo