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 :

Items toujours dans la même cellule


Sujet :

Qt

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Juillet 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Items toujours dans la même cellule
    Bonjour,
    je m'exerce au C++ avec Qt et je veux apprendre à utiliser QTableWidget.

    Mais j'ai un petit soucis. Je n'arrive pas à placer correctement les QTableWidgetItem.
    En effet, il se retrouve tous dans la cellule en (0,0).

    Voici le code:
    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
    QTableWidgetItem *temp = new QTableWidgetItem;
    tableGen1 = new QTableWidget;
        tableGen1->insertColumn(0);
        tableGen1->insertColumn(1);
     
        tableGen1->setColumnWidth(0, 400);
        tableGen1->setColumnWidth(1, 400);
     
        for(i = 0; i <= 3; i ++)
        {
            tableGen1->insertRow(i);
        }
     
        tableGen1->setRowHeight(0, 50);
        tableGen1->setRowHeight(1, 250);
        tableGen1->setRowHeight(2, 50);
        tableGen1->setRowHeight(3, 250);
     
            temp->setText("Rouge");
        tableGen1->setItem(0,0, temp);
            temp->setText("Vert");
        tableGen1->setItem(0,1, temp);
            temp->setText("Bleu");
        tableGen1->setItem(2,0, temp);
            temp->setText("Jaune");
        tableGen1->setItem(2,1, temp);
     
        tableGen1->horizontalHeader()->hide();
        tableGen1->verticalHeader()->hide();
     
        tableGen1->setFixedSize(802, 603);
    Et le résultat:
    Nom : 21bug_QTableWidget.png
Affichages : 78
Taille : 3,5 Ko


    Si l'on pouvait m'aider, me dire où je me suis trompé, j'en serais très reconnaissant.

  2. #2
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 348
    Points : 42 815
    Points
    42 815
    Par défaut
    Il te faut créer autant de qtablewidgetitem que de cellule que tu veux remplir, 4 dans l'exemple.

    Tu fait plusieurs setItem avec temp, ce qui a pour effet de déplacer ton qtablewidgetitem d'une cellule à une autre. Idem pour le setText, comme tu le fais sur le même qtablewidgetitem, tu écrase le texte précédent. Dans l'exemple, le texte jaune correspond à la dernière valeur.

    Dans ton code,il te faut mettre temp = new QTableWidgetItem; avant chaque setText et non pas juste au début.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Juillet 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup.
    Mais je trouve que faire un QTableWidgetItem pour chaque item est un peu lourd (parce que je compte en mettre beaucoup plus).
    Est-il possible de tout mettre sur une ligne, un peu comme ceci (je ne sais pas si ça marche, mais je vais tout de suite essayer):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tableGen1->setItem(0,0, new QTableWidgetItem("Rouge"));
    Serait-ce correcte ?

    EDIT:
    Cela marche parfaitement. Merci quand même pour votre aide ^_-

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/09/2007, 18h52
  2. Réponses: 1
    Dernier message: 07/08/2007, 10h06
  3. Plusieurs résultats dans une même cellule
    Par luboyoyo dans le forum Excel
    Réponses: 2
    Dernier message: 04/06/2007, 09h39
  4. [VBA-E]Retour a la ligne dans la même cellule
    Par el.meyo dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 26/07/2006, 18h28
  5. macro pour remplire une liste dans une même cellule
    Par fabiend83 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 17/07/2006, 10h32

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