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 :

[Qt4] Impossible d'afficher mes données dans mon QTreeWidget


Sujet :

Qt

  1. #1
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut [Qt4] Impossible d'afficher mes données dans mon QTreeWidget
    Salut,

    Voilà j'utilise un QTreeWidget pour afficher mes données sous forme d'arbre. Jusque là tout fonctionne correctement excepté l'affichage. Et je comprends pas pourquoi ça fonctionne pas

    Si je lance en mode console de manière à ce que mon application s'ouvre directement avec mon tree généré j'ai le bon affichage. Mais si je le fais après lancement de mon application, il y a aucun affichage et ce malgré le fait que la génération de chaque ligne est effective.

    Pouvez vous me dire pourquoi il ne fonctionne pas correctement ?

    Code c++ : 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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    TreeView::TreeView(QWidget *parent):QTreeWidget(parent)
    {
        this->setColumnCount(8);
     
        //elements du menu
        QStringList entete;
        entete << "Adresse debut" << "Adresse fin" << "SSE" << "X87" << "Recursif" << "Taille (octet)" << "Nb Appel" << "Nb Fils";
        menu1 = new QTreeWidgetItem((QTreeWidget*)0,entete);
     
        setHeaderItem(menu1);
        this->header()->setMovable(false);
        this->header()->setResizeMode(0, QHeaderView::Stretch);
        QStringList qsl1 = QStringList(QString("Programme principal"));
        parentItem = new QTreeWidgetItem((QTreeWidget*)0,qsl1);
     
        racines.append(parentItem);
     
        this->addTopLevelItems(racines);
    }
     
    void TreeView::constrGraphUnder(Programme* p, int taille)
    {
        Programme *tmp = NULL;
        int j = 0;
        for(int i = 0; i < p->getNbSousProg(); i++)
        {
            tmp = p->getSousProg(i);
     
            QTreeWidgetItem *iteme = new QTreeWidgetItem((QTreeWidget*)0);
     
            cout << tmp->getAdressDeb() << endl;
            iteme->setData (0, 0, QVariant(QString(tmp->getAdressDeb().c_str()).toUpper())); 
            iteme->setData (1, 0, QVariant(QString(tmp->getAdressFin().c_str()).toUpper())); 
     
            if(tmp->getSSE())
                iteme->setData(2, 0, QVariant(QString("OUI"))); 
            else
                 iteme->setData(2, 0, QVariant(QString("NON"))); 
     
            if(tmp->getX87())
                iteme->setData(3, 0, QVariant(QString("OUI"))); 
            else
                 iteme->setData(3, 0, QVariant(QString("NON"))); 
     
            if(tmp->getRecursif())
                iteme->setData(4, 0, QVariant(QString("OUI"))); 
            else
                 iteme->setData(4, 0, QVariant(QString("NON"))); 
     
            iteme->setData(5, QVariant::Int, QVariant(tmp->getSize())); 
            iteme->setData(6, QVariant::Int, QVariant(tmp->getNbAppel())); 
            iteme->setData(7, QVariant::Int, QVariant(tmp->getNbSousProg())); 
     
            this->appendChild(iteme);
     
            creerFils(j++, tmp, p);
        }
     
        parentItem->setData(7, 0, QVariant(p->getNbSousProg())); 
     
        this->setItemExpanded(parentItem, true);
     
    }

    Au lancement avec génération je fais l'appel de la même manière que si c'était en mode graphique :
    • Création de mon tree
    • appel de la fonction de création.
    Savez-vous d'où vient le soucis ?

  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.
    Cette ligne est bizzare
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this->appendChild(iteme);
    Vu ce que je voie
    ne devrait pas tu créé iteme par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     QTreeWidgetItem *iteme = new QTreeWidgetItem(parentItem);
    Je ne voie pas trop comment est ton arborescence.

  3. #3
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Alors c'est un script qu'un ami m'a donné et la fonction que tu cites est celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    void TreeView::appendChild(QTreeWidgetItem *item)
    {
        //ajout de l'enfant dans la racine
        parentItem->addChild(item);
     
        //on met a jour la liste des enfants de la racine
        childItems.append(item);
    }
    et le h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    //liste des enfants de la racine principale
        QList<QTreeWidgetItem*> childItems;
     
        //va servir daffichage contient le graphe
        QList<QTreeWidgetItem *> racines;
     
        //racine principale du prog
        QTreeWidgetItem *parentItem;
    Je t'avoue que j'y comprends rien moi

  4. #4
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Tout compte fait, j'ai tout repris et maintenant ça marche.

    En fait, l'erreur était...euh je sais pas...mais de la manière qu'il avait fait son truc

    Merci en tout cas

  5. #5
    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
    Ben cool alors.
    Juste une remarque.
    Je pense que TreeView aurait du hérité d'une QWidget et aurait un QTreeWidget en membre.

  6. #6
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Ben c'est exactement ce que j'ai fais sauf que ma classe hérite directement d'un QTreeWidget

  7. #7
    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 Kerod Voir le message
    Ben c'est exactement ce que j'ai fais sauf que ma classe hérite directement d'un QTreeWidget
    ?
    ben c'est ça qui n'est peut être pas terrible...
    T'as class sert à visualiser des données, mais en plus on peut s'en servir comme d'une QTreeWidget!!

  8. #8
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Ben c'est mon but justement.

    Il affiche juste des données que je lui passe en paramètres et c'est tout. Pour le moment c'est tout ce dont j'ai besoin

  9. #9
    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 Kerod Voir le message
    Ben c'est mon but justement.

    Il affiche juste des données que je lui passe en paramètres et c'est tout. Pour le moment c'est tout ce dont j'ai besoin
    C'était juste une remarque.
    Aprés a toi de faire comme tu le comprend
    Ce que je voulais dire est que l'on peut utiliser ta class pour y afficher des chose par l'extérieur de la class comme une QTreeWidget. Je trouve ça assez déroutant (cherché longtemps ce mots)

  10. #10
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Ok pas de problème

    pour ton aide

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

Discussions similaires

  1. [WD14] Affiché mes données dans des libéllés.
    Par AUZUR dans le forum WinDev
    Réponses: 6
    Dernier message: 16/06/2010, 10h44
  2. [CR 8] je n'arrive pas a afficher mes données sur mon etat
    Par obydissonn dans le forum SAP Crystal Reports
    Réponses: 0
    Dernier message: 29/03/2010, 12h57
  3. impossible d'afficher mes ImageIcons dans mon .jar
    Par yoann34 dans le forum Composants
    Réponses: 3
    Dernier message: 30/07/2009, 08h09
  4. Réponses: 9
    Dernier message: 12/05/2006, 09h06
  5. [MySQL] Afficher mes données dans un tableau HTML
    Par lassmust dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 02/03/2006, 11h43

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