QTableItem langsam?
Verfasst: 15. Juli 2010 01:10
Hallo, wenn ich ganz viele rows erzeuge, etwa 1000 dann dauert es sehr lange.
Ist das normal?
Im Moment sieht der Code so aus:
Ist der Code schlecht, oder geht das nicht anders? Es müssen nämlich über mehr als 10000 rows sein.
Ist das normal?
Im Moment sieht der Code so aus:
Code: Alles auswählen
if (updateTableBool) {
while(table->rowCount()) {
table->removeRow(table->rowCount()-1);
}
for ( unsigned int i=0; i < (*vector).size(); ++i ) {
table->insertRow(table->rowCount());
if ((*vector)[i]->parent())
cell1 = new QTableWidgetItem(tr("%1").arg((*vector)[i]->parent()->id()+1));
else
cell1 = new QTableWidgetItem(tr("0"));
cell2 = new QTableWidgetItem(tr("%1,%2,%3").arg((*vector)[i]->x()).arg((*vector)[i]->y()).arg((*vector)[i]->direction()));
if ((*vector)[i]->childLeft() && (*vector)[i]->childRight()) {
cell3 = new QTableWidgetItem(tr("%1").arg((*vector)[i]->childLeft()->id()+1));
cell4 = new QTableWidgetItem(tr("%1").arg((*vector)[i]->childRight()->id()+1));
}
else {
cell3 = new QTableWidgetItem(tr("keine"));
cell4 = new QTableWidgetItem(tr("keine"));
}
table->setItem(i,0,cell1 );
table->setItem(i,1,cell2 );
table->setItem(i,2,cell3 );
table->setItem(i,3,cell4 );
}
}