QStandardItemModel - bin am verzweifeln!
Verfasst: 15. Februar 2008 17:33
Hi,
ich habe ein tierisches Problem mit einem QStandardItemModel:
und zwar habe ich eine Tabelle mit 6 Spalten. Zum Anfang des Programmes besitzt diese Tabelle nur eine Zeile:
Nun kann man in meinem Programm eine Datei laden. In dieser Datei steht am Anfang, wie viele Zeilen die Tabelle enthalten soll. Dafür werden erst einmal alle existierenden gelöscht, und dann neue hinzugefügt:
Anschließend wird die Datei weiter eingelesen, und die Zeilen mit den Daten gefüllt:
Das funktioniert auch alles sehr schön. Anschließend kann man durch einen klick auf den Button, der sich in der letzen Spalte einer jeden Zeile befindet, die Einträge in den Zellen der Zeile ändern. Die Daten für den Dialog, den er dann öffnet, holt er sich aus einem Vektor, wo die Daten aus der Tabelle gepeichert sind (da nicht alle Daten auch in der Tabelle angezeigt werden sollen).
Das Problem tritt auf, wenn man den Dialog wieder verlässt, und die Daten in der Tabelle angezeigt werden sollen:
Hier stürzt er dann immer mit einer Fehlermeldung ab:
*** glibc detected *** malloc(): memory corruption (fast): 0x0820b67f ***
Das ganze passiert aber nicht, wenn man die Datei 2x hintereinander öffnet und einliest. Dann stürzt er nicht ab, und es gibt keine Probleme.
Wie gesagt, 2x die gleiche Datei öffnen und alles schön, nur einmal, und er stürzt ab.
Habt Ihr irgendeinen Anhaltspunkt, woran das liegen könnte???
MfG, und vielen Dank, Ozzy
ich habe ein tierisches Problem mit einem QStandardItemModel:
und zwar habe ich eine Tabelle mit 6 Spalten. Zum Anfang des Programmes besitzt diese Tabelle nur eine Zeile:
Code: Alles auswählen
model = new QStandardItemModel( 1, 6 );
tableView = new QTableView;
layout_TableView->addWidget( tableView );
tableView->setModel( model );
tableView->setShowGrid( true );
Code: Alles auswählen
model->removeRows( 0, model->rowCount(), QModelIndex() );
model->insertRows( 0, slider_NoOfRows->value(), QModelIndex() );
Code: Alles auswählen
for ( int i=0; i< slider_NoOfFlows->value(); i++ ) {
model->setData( model->index( i, 0, QModelIndex()), flow.Application );
[...]
}Das Problem tritt auf, wenn man den Dialog wieder verlässt, und die Daten in der Tabelle angezeigt werden sollen:
Code: Alles auswählen
model->setData( model->index( index.row(), 0, QModelIndex() ), flow.Application );
*** glibc detected *** malloc(): memory corruption (fast): 0x0820b67f ***
Das ganze passiert aber nicht, wenn man die Datei 2x hintereinander öffnet und einliest. Dann stürzt er nicht ab, und es gibt keine Probleme.
Wie gesagt, 2x die gleiche Datei öffnen und alles schön, nur einmal, und er stürzt ab.
Habt Ihr irgendeinen Anhaltspunkt, woran das liegen könnte???
MfG, und vielen Dank, Ozzy