Re bonjour,
De retour pour ne nouvelles aventures (problèmes) Qtesques !
Pour résumer, je fais une application MDI, intégrant différents types de Widgets.
J'arrive à intégrer des QTextEdit et des QMovie sans problèmes. Ce n'est pas la même chose pour les QTableWidget.
La création se passe très bien, l'affichage aussi. Le problème survient lorsque je ferme une QtableWidget(clic sur la croix en haut à droite). En effet, mon debuger se lance et me renvoit sur la méthode :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 void QTableModel::clearContents() { for (int i = 0; i < tableItems.count(); ++i) { if (tableItems.at(i)) { tableItems.at(i)->view = 0; ==> delete tableItems.at(i); tableItems[i] = 0; } } reset(); }Je ne comprends pas pourquoi le delete n'arrive pas à supprimer mes Items.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Unhandled exception at 0x655f9135 (QtGuid4.dll) in MDI2.exe: 0xC0000005: Access violation reading location 0xdddddddd.
Je vous joins aussi le code du remplissage de ma table, l'erreur vient sans doute de là.
Merci encore pour votre aide. Désolé pour la lourdeur du post.
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 ---------------------------------------------------------------- QTableWidget *table; QTableWidgetItem *tableItem; ---------------------------------------------------------------- void MainWindow::newTable() { static int tableNumber = 1; table = new QTableWidget(10,3,this); curFile = tr("Tableau%1.txt").arg(tableNumber++); table->setWindowTitle(curFile); this->tableInit(); this->mdiArea->addSubWindow(table); table->show(); } void MainWindow::tableInit() { tableItem = new QTableWidgetItem("Colonne 1"); this->table->setItem(0,0,tableItem); tableItem = new QTableWidgetItem("Colonne 2"); this->table->setItem(0,1,tableItem); tableItem = new QTableWidgetItem("Colonne 3"); this->table->setItem(0,2,tableItem); ... }
Qteusement,
G.
Partager