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 :
Il est relié au signal :
Code : Sélectionner tout - Visualiser dans une fenêtre à part void traitementSaisies(QTableWidgetItem*, QTableWidgetItem*);
Code : Sélectionner tout - Visualiser dans une fenêtre à part currentItemChanged(QTableWidgetItem*, QTableWidgetItem*)
A l'exécution le programme plante.
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); } } }
Merci de m'aider.
Partager