Seite 1 von 1

TableWidget Problem

Verfasst: 15. Mai 2007 15:08
von Frostie
Folgendes Problem,

ich füge in ein tablewidget zeile für zeile Daten ein:

Code: Alles auswählen

while(Daten aus Datenbank)
{

                                    newItem = new QTableWidgetItem();
			newItem->setTextColor(font1);
			newItem->setText(users);
			tableWidget_projects->setItem(count, 4, newItem);
			
			newItem = new QTableWidgetItem();
			newItem->setTextColor(font1);
			newItem->setText(date_time_out);
                          tableWidget_projects->setItem(count, 5, newItem);	
			
			
			newItem = new QTableWidgetItem();
			newItem->setTextColor(font1);
			newItem->setText(date_time_out1);
			tableWidget_projects->setItem(count, 6, newItem);	
			
			newItem = new QTableWidgetItem();
			newItem->setTextColor(font1);
			newItem->setText(status);
			tableWidget_projects->setItem(count, 7, newItem);

}
Funktioniert unter Windows ohne Probleme.

Leider macht der MAC komische Sachen,
er fängt während des einfügens das sortieren an und dann landet die neue Zeile auf einmal über einer vorhandenen,
damit werden die neuen Daten in die falsche Zeile geschrieben und damit Teilweise Überschrieben.

Was kann ich da tun??

Danke
Matthias

Verfasst: 15. Mai 2007 15:52
von macman
Das sortieren abschalten.

Verfasst: 15. Mai 2007 16:03
von Frostie
Hm,

ist ne Lösung, schon klar.

Aber ist das ne schöne Lösung?

Danke aber trotzdem.

Gruß
Matthias

Verfasst: 15. Mai 2007 16:12
von macman
Eine schöne Lösung wäre eine TableView und kein TableWidget.

Verfasst: 16. Mai 2007 11:51
von UmmonTL
Du könntest das sortieren deaktivieren während deine Schleife durchläuft.

Code: Alles auswählen

tableWidget_projects->setSortingEnabled(false);
while(Daten aus Datenbank)
{ 
mach Einträge in der Tabelle...
}
tableWidget_projects->setSortingEnabled(true);
Ich weiß nicht ob das dann beim aktivieren gleich neu sortiert, du kannst auch explizit mit

Code: Alles auswählen

sortItems ( int column, Qt::SortOrder order = Qt::AscendingOrder );
sortieren wenn du mit dem Eintragen fertig bist.

Verfasst: 16. Mai 2007 13:00
von Frostie
Ja,

so hab ich das jetzt auch gemacht.

Danke an die Helfer!

Verfasst: 25. Januar 2010 13:20
von the-d
Hi, ist zwar der grottenalt der Eintrag, aber bei mir sehr aktuell.

Nur zur Info:
Unter Windows (VS2008, QT4.6 OpenSource) ähnliches Problem bei mir.

Zeilen ins QTableWidget (sortieren eingeschaltet) reingeschrieben, danach mit sortItems sortiert, nur Müll in der Tabelle.
Auch hier hat das obige geholfen:
Sortieren ausschalten, Tabelle füllen, sortieren und wieder setSortingEnabled(true).

Also auch von mir ein sehr spätes Danke für den Tipp ;-)