Seite 1 von 1

Tabelle mit AbstractItemModel

Verfasst: 26. November 2009 11:48
von bob446
Hallo,

ich habe eine Tabelle mit einem AbstractItemModel erstellt.
Ich füge über einen Slot neue Daten hinzu und lösche sie ggf. .
Ich habe allerdings noch ein Problem mit der Selection:
Ich stelle über SelectionBehavoir SelectRows ein. Allerdings wird dies falsch angezeigt. Erst nach Änderung der Größe des MainWindows(also bei einem neuen Paint-Event) wird es wieder richtig angezeigt. Wie kann ich das ändern? Also das sich das ganze eher neu zeichnet und die Anzeige passt. Der interne Status scheint ja zu passen ?

Verfasst: 26. November 2009 12:20
von upsala
Es gibt in den Qt-Labs einen Model-Tester, benutz diesen mal.

Verfasst: 26. November 2009 12:30
von AuE
Oder das PieChart Example ansehen!

Re: Tabelle mit AbstractItemModel

Verfasst: 26. November 2009 21:41
von neuschi
bob446 hat geschrieben:
Erst nach Änderung der Größe des MainWindows(also bei einem neuen Paint-Event) wird es wieder richtig angezeigt. Wie kann ich das ändern? Also das sich das ganze eher neu zeichnet und die Anzeige passt. Der interne Status scheint ja zu passen ?
Ohne jetzt den Code gesehen zu haben riecht das nach einem häufigen Problem: Beim Einfügen der Daten fehlt die Klammer mit beginInsertRows() / endInsertRows() :

http://doc.trolltech.com/4.5/model-view ... oving-rows

\Ralf

Verfasst: 30. November 2009 12:54
von B4chi
hallo,

bei mir hat beginInsertRows() / endInsertRows() nicht den gewünschten Erfolg gebracht.

Ich benutze folgende Funktion in meinem View:

Code: Alles auswählen

void MyView::ResizeItems()
{
	setUpdatesEnabled(false);
	resizeRowsToContents(); 
	executeDelayedItemsLayout();
	setUpdatesEnabled(true);
}
Vielleicht hilft es ja.

MfG
B4chi