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 :

Utiliser un QLabel en paramètre d'un slot


Sujet :

Qt

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2013
    Messages : 10
    Points : 8
    Points
    8
    Par défaut Utiliser un QLabel en paramètre d'un slot
    Boujours à tous, je voudrai savoir comment on peut récupérer un pointeur sur un QLabel issue du *.ui pour ensuite l'utiliser dans un slot l'utilisant en paramètre. Je m'exuse d'avance pour la clareté de ma question ^^
    En faite je voudrai afficher dans différent QLabel des tableaux.
    Je cré donc une fonction qui me permet de prendre en paramètre un tableau et un QLabel. Le problème c'est que je n'arrive pas à acceder au QLabel vu qui a étais créé avec Qt creator..
    Comment puis-je récupérer ce QLabel ?!

    Mon header(en partie):
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    #ifndef PROG_ENERGY_H
    #define PROG_ENERGY_H
     
    #include <QtGui/QDialog>
    #include <QTimer>
    #include <QTime>
    #include <ui_prog_energy.h>
     
    namespace Ui
    {
        class prog_energy;
    }
     
    class prog_energy : public QDialog
    {
        Q_OBJECT
     
    public:
        prog_energy(QWidget *parent = 0);
        ~prog_energy();     
     
    public slots:
     void affichage(QVector<double>TabaAff,QLabel *label); //le QLabel à récupérer  
    private:
        Ui::prog_energy *ui;
     QVector<double> time1;
        QVector<double> tableau2;
        QVector<double> tableau3;
        QVector<double> tableau4;
        QVector<double> power5;
        QVector<double> tableau6;
        QVector<double> tableau7;
    };
     
    #endif // PROG_ENERGY_H
    et ma fonction dans le *.cpp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    void prog_energy::affichage(QVector<double>TabaAff1,QLabel label)                              
    {
    static int cmp;
        if (cmp<TabaAff1.size())
        {
            ui->label->setText(QString::number(TabaAff1[cmp]));
            cmp++;
        }
    }
    Je vous remerci d'avance! J'aimerai bien comprendre comment fonctionne tous ça ^^

  2. #2
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2010
    Messages
    248
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2010
    Messages : 248
    Points : 421
    Points
    421
    Par défaut Clarification
    Bonjour,

    La récupération d'un contrôle se fait par le biais de l'objet ui. C'est bien ce que tu fais avec "ui->label".

    Par contre la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void prog_energy::affichage(QVector<double>TabaAff1,QLabel label)
    écrira toujours dans le même label, à savoir .

    Il faut la modifier comme suit pour qu'elle utilise le label donné en paramètre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    void prog_energy::affichage(QVector<double>TabaAff1,QLabel label)                              
    {
    static int cmp;
        if (cmp<TabaAff1.size())
        {
            label->setText(QString::number(TabaAff1[cmp]));
            cmp++;
        }
    }
    et ensuite, lors de l'appel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    affichage(vector, ui->label);
    ...
    affichage(vector, ui->label2);
    //etc...

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2013
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    Ok j'te remercie ca fonctionne super! ^^

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Etat utilisant une requète avec paramètres
    Par noakiss dans le forum VBA Access
    Réponses: 3
    Dernier message: 29/04/2008, 11h04
  2. utiliser une variable comme paramètre de l'objet range
    Par stdebordeau dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/10/2007, 14h56
  3. Réponses: 1
    Dernier message: 11/06/2007, 17h44
  4. Réponses: 3
    Dernier message: 30/05/2005, 23h28
  5. Réponses: 6
    Dernier message: 24/02/2005, 09h44

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