Bosoir à tous,
Voilà j'ai un petit soucis dans mon code. Je souhaite afficher un tableau issu d'une base de donnée (ca c bon) et pouvoir selectionner une ligne du tableau pour pouvoir ulterieurement la modifier ou la supprimer. Mais déjà récupérer les infos de la ligne me pose problème.
Voici mon 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
32
33
...
     QSqlTableModel *model = new QSqlTableModel;
     model->setTable("Clients");
     model->select();
     model->removeColumn(0);
 
 
     QTableView *view = new QTableView;
     view->setModel(model);
     view->setSelectionBehavior(QAbstractItemView::SelectRows);
 
     // Layout : boutons du bas (ajouter, quitter...)
     modifier = new QPushButton("&Modifier");
     annuler = new QPushButton("&Annuler");
 
     QHBoxLayout *boutonsLayout = new QHBoxLayout;
     boutonsLayout->setAlignment(Qt::AlignLeft);
 
     boutonsLayout->addWidget(modifier);
     boutonsLayout->addWidget(annuler);
 
     QVBoxLayout *layoutPrincipal = new QVBoxLayout;
     layoutPrincipal->addWidget(view);
     layoutPrincipal->addLayout(boutonsLayout);
 
     QWidget *zoneCentrale = new QWidget;
     zoneCentrale->setLayout(layoutPrincipal);
     setCentralWidget(zoneCentrale);
 
     // Connexions des signaux et des slots
     connect(annuler, SIGNAL(clicked()), this, SLOT(menublanc()));
     connect(modifier, SIGNAL(clicked()), this, SLOT(modifierClientBdd()));
...

Et le slot modifierClientBdd()

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void FenPrincipale::modifierClientBdd()
{
    QItemSelectionModel *selection = view->selectionModel();
    QModelIndexList listeSelections = selection->selectedIndexes();
    QString elementsSelectionnes;
 
    for (int i = 0 ; i < listeSelections.size() ; i++)
    {
        QVariant elementSelectionne = model->data(listeSelections[i], Qt::DisplayRole);
        elementsSelectionnes += elementSelectionne.toString() + "<br />";
    }
 
    QMessageBox::information(this, "Eléments sélectionnés", elementsSelectionnes);
}

Le code compile, mais qd je clique sur le bouton "modifier" le programme plante...

Où est mon erreur??

Merci d'avance