Bonjour,
J'ai une QTableWidget tableau
Voici ce que je veux obtenir :

On saisit une donnée dans la colonne "recette".
On ouvre un fichier texte et on récupère une chaîne stockée dans QString groupe.
On affiche groupe dans une autre cellule (même ligne mais autre colonne).

Voici le code (qui fait partie d'un slot perso dont le prototype est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
void traitementSaisies(QTableWidgetItem*, QTableWidgetItem*);
Il est relié au signal :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
currentItemChanged(QTableWidgetItem*, QTableWidgetItem*)

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
36
37
if(fichierRecette.isOpen() == true)
            {
                while (!lectureFichier.atEnd())
                {
                    recetteLue = lectureFichier.readLine();
                    if (recetteLue == texteAffiche)
                    {
                        groupe = lectureFichier.readLine();
                        nbBU = lectureFichier.readLine();
 
                        previous->setFont(QFont("Microsoft Sans Serif", 8, QFont::Bold));
                        QColor couleurDefault(Qt::black);
                        previous->setForeground(QBrush(couleurDefault));
                        previous->setText(recetteLue);
 
                        /***************************/
                        /*** ICI SE SITUE LE PROBLEME ***/
                        /***************************/
                        tableau->setCurrentCell(tableau->currentRow(), 7);
                        tableau->currentItem()->setText(groupe);
 
                        fichierRecette.close();
                        break;
                    }
                    else if (lectureFichier.atEnd())
                    {
                        QMessageBox::warning(this, "", "<strong><H3>Recette absente.\nVeuillez vérifier votre saisie.</strong></H3>");
                        fichierRecette.close();
                        previous->setFont(QFont("Microsoft Sans Serif", 12, QFont::Bold));
                        QColor couleurErreur (Qt::red);
                        QBrush brushErreur (couleurErreur);
                        previous->setForeground(brushErreur);
                        previous->setText(("Erreur"));
                        previous->setTextAlignment(Qt::AlignCenter);
                    }
                }
            }
A l'exécution le programme plante.
Merci de m'aider.