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

Discussion :

Récupérer une valeur de QTableWidget

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 41
    Par défaut Récupérer une valeur de QTableWidget
    Bonjour à tous,

    Je suis sur un deuxième, créer un parcours géolocalisé.
    J'ai donc du crée une application graphique composé d'un QLineEdit, de quelques QPushButton et d'un QTableWidget composé de 3 colonnes (Latitude, Longitude, Nom).
    Une fois toutes les informations entrées, le logiciel doit crée un fichier avec toutes ces informations.

    Cependant, lorsque je tente de récupérer le contenu de chaque cellule du QTableWidget, le logiciel crash.

    J'ai tenté :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    i=ui->tableWidget->rowCount();
        short y = ui->tableWidget->columnCount();
        for(short a=0; a<i; a++)
        {
            for(short x=0; x<y; x++)
            {
                QTableWidgetItem *item = ui->tableWidget->item(a, x);
                                 const QString value = item->text();
                                 stream << value << ";";
     
            }
            stream << endl;
        }
        file.close();
    Je voudrai donc récupérer les valeurs de chaque cellule (Latitude, Longitude, Nom) pour les écrire dans le fichier crée.

    Voici mon tableau :


    Je suis sur ce problème depuis une dizaine d'heures mais je n'arrive toujours pas à le faire.

    Je vous remercie d'avance.
    Images attachées Images attachées  

  2. #2
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 260
    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 : 18 260
    Par défaut prob crash qwidgetitem
    Ton prob vient probablement du fait que tu fais un accès à un qwidgetitem vide.
    vérifie que ton item ne soit pas égal à NULL avant de tenter d’accéder à son contenu.

    J'ai eu le coup
    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
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 41
    Par défaut
    Merci mais comment faire pour vérifier qu'un item précis n'est pas vide ?
    Je ne vois nul part les colonnes que j'ai crée avec le Designer. Il n'y a aucune traces à part avec le rowCount mais je ne comprend pas.

  4. #4
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 260
    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 : 18 260
    Par défaut tester contenu item
    rowCount te permet de savoir combien de lignes ton tableau contient, pas si les cellules de ces lignes contiennent qq chose.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    QTableWidgetItem *item;
    QString value;
     
    item = ui->tableWidget->item(a, x);
    if (item!=NULL)
    {
      value = item->text();
      stream << value << ";";
    }
    J'ai viré le const sur le QString également.
    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

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 41
    Par défaut
    Merci beaucoup mais je ne comprend pas par quoi remplacer les variables a et x. Dois-je seulement les déclarer ou les remplacer par quelque chose ?

  6. #6
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 260
    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 : 18 260
    Par défaut variables de boucle
    Pour tester toutes tes cellules tu fait 2 boucles imbriquées (comme sur ton 1er post) du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    for (nbre_ligne=0;nbre_ligne<tableau->rowCount();nbre_ligne++)
    {
      for (nbre_colonne=0;nbre_colonne<tableau->ColumnCount();nbre_colonne++)
      {
         item=tableau->item(nbre_ligne,nbre_colonne);
         if (item!=NULL)
         {
           //ton traitement
         }
      }
    }
    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

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

Discussions similaires

  1. [XSL]récupérer une valeur de plusieurs fichiers XML
    Par snoop dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 05/02/2006, 00h32
  2. Réponses: 5
    Dernier message: 09/09/2005, 17h51
  3. problème pour récupérer une valeur dans ma bd (débutante)
    Par auryn111 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 26/08/2005, 17h49
  4. Réponses: 2
    Dernier message: 17/06/2005, 13h38
  5. Réponses: 2
    Dernier message: 11/12/2004, 21h20

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