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 :

Probléme avec un QLabel.


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 62
    Par défaut Probléme avec un QLabel.
    Bonjour.

    j'essaye de réactualiser un QLabel, pas moyen.

    Je défini mon QLabel une premiére fois, pas de probléme.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ......
        label66 = new QLabel("////MON PSEUDO////",this);
        label66->setText("Ok");
        label66->move(495,630);
        label66->setPalette(palette);
    .......

    Ensuite je veut initialiser mon QLabel avec la valeur de " pseud " mais pas moyen, pourtant lorsque j'essaye de récupéré la valeur actuelle de mon QLabel, j'obtient la bonne valeur qui est " OK ".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    void Lobby_Window::InitLobby(QString pseud)
    {
        QDialog dialog;
        QString str = label66->text();
        QMessageBox::information(&dialog, "",str);
        label66->setTextInteractionFlags(Qt::TextEditable);
        label66->setText(pseud);
        label66->update();
    }
    Pourquoi mon QLabel ne veut pas me faire mon label66->setText(pseud); ???

    Je comprend pas ...

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 035
    Par défaut
    Ensuite je veut initialiser mon QLabel avec la valeur de " pseud " mais pas moyen, pourtant lorsque j'essaye de récupéré la valeur actuelle de mon QLabel, j'obtient la bonne valeur qui est " OK ".

    tu veut afficher OK ou PSEUD ???

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 62
    Par défaut
    Je veut afficher pseud dans un 2ieme temps...

    j'écris ///MON_PSEUDO/// et OK uniquement pour tester l'affichage dans les différent cas possible à l'execution du programme.

    Ensuite à un moment donnée je dois réacutaliser mon label66 avec la valeur de pseud.

  4. #4
    Rédacteur

    Avatar de johnlamericain
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    3 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 3 742
    Par défaut
    Je me suis fait un petit exemple avec le même code que toi et pas de problème, mon pseudo est bien affiché...

    Code source complet ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 62
    Par défaut
    Biensur...

    Dans le but de tester mon code dans tous les sens je test souvent mes valeurs via l'interface et QMessageBox

    Si vous avez bien vu dans ma fonction j'utilise des QMessageBox et il me rend bien la valeur correcte de pseudo lorsque je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    void Construct_GAME_View::InitLobby(QString pseudo)
    { 
    QDialog dialog;
    label66->setUpdatesEnabled(true);
    label66->setTextInteractionFlags(Qt::TextEditable);
    label66->setText(pseudo);            /// si  pseudo vaut  :   "Paul"
    label66->update();
    QString str = label66->text();
    QMessageBox::information(&dialog, "information", str);       /// QMessage affiche   "Paul"
    }
    Le probléme est que mon interface ne change pas mon QLabel de valeur.
    Je précise que cette fonction est appelée depuis l'extérieure dans l'exécution d'un slot

    De plus j'utilise également une autre fonction appelée depuis l'intérieure comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    connect(tableGView, SIGNAL(clicked(const QModelIndex &)), this, SLOT(updateInfoGame(const QModelIndex &)));
    et qui lui par contre me rend bien une valeur correcte lorsque je fais label66->setText("Bonjour");
    De plus il change la valeur dans mon interface également. ok!

    Mais!!! au départ j'essaye de récupérer la valeur actuelle de label66 car normalement il dois contenir
    mon texte qui vaut " Paul " car j'éxecute la fonction InitLobby(QString pseud) avant celle ci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    void Construct_GAME_View::updateInfoGame(...)
    {    
         QDialog dialog;
     
         QString str = label66->text();                       ///  affiche  " ////MON PSEUDO////"   au lieu de   "Paul"  
         QMessageBox::information(&dialog, "",str);      /// idem
     
          label66->setText("Bonjour");                        /// affiche bien   "Bonjour" dans mon interface  
          str = label66->text();
         QMessageBox::information(&dialog, "",str);     /// idem
     
         .....
    }
    Au lieu de cela il contient mon texte défini dans la définition de mon QLabel comme ceci: :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    .....
        label66 = new QLabel("////MON PSEUDO////", QWidget*h);
    .....
    En gros c'est comme ci mon label66 appelé depuis une fonction exécuter dans un slot à l'extérieure na rien à voir avec celui appelé à l'intérieure . Je comprend plus, je tourne en rond ,j'ai tous essayer sauf la bonne solution!!!

    Je précise également que je n'utilise pas de fonction connect pour effectuer mon slot void Construct_GAME_View::InitLobby(QString pseud), je l'appelle simplement depuis l'extérieure dans un autre slot

    C'est peut être la mon probléme mais alors comment l'écrire au niveau du signal car je n'ai pas d'objet ???

    bon voila , j'espére que c'est clair.
    le probléme est que mon projet prend deviens "gros"

  6. #6
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 035
    Par défaut
    Question quand tu met label66, ca veut dire que tu as 66 label dans ta classe que tu as nomé de label1 à label66 ???

    Sinon, je ne vois vraiment pas. La seule chose que je soupçonnerai c'est que tu as deux variable label66 : Par exemple, en en définissant une dans le constructeur et que tu affiche, et celle en membre de ta classe.

Discussions similaires

  1. problème avec QLabel
    Par mimi yasmine dans le forum Qt
    Réponses: 3
    Dernier message: 12/04/2014, 15h40
  2. Problème de slot avec un QLabel
    Par Zec Merquise dans le forum Qt
    Réponses: 8
    Dernier message: 15/12/2006, 13h23
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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