Seite 1 von 1

QListWidgetItem + QVariant

Verfasst: 30. Juli 2006 12:13
von Lisan
Hi,

Ich moechte an ein QListWidgetItem QVariant<MyClass*> Daten binden.
Leider geht dann der Text des Widgets verloren.

Code: Alles auswählen

QListWIdgetItem* item;
item->setText("foobar");
/* The text is 'foobar' here */
MyClass* k = new MyClass;
item->setData(o, qVariantFromValue(k));
/* the text is 0x0 now, i guess invalid */
Wie kann ich komplexe daten an eine Liste binden, ohne dass der text des Widgets zerstoert wird.
Wenn das mit QListWIdgets nicht klappt, was sollte dann verwenden ?

Ich nutze Qt 4.1 (mingw)

Verfasst: 30. Juli 2006 20:44
von upsala
Was ist bei dir 'o'?

Code: Alles auswählen

item->setData(o, qVariantFromValue(k)); 
Verwende halt eine andere Role.

Verfasst: 31. Juli 2006 16:06
von patrik08
zum lesen http://qtforum.de/forum/viewtopic.php?t=2431 ist dass selbe bei qlist***

geloest

Verfasst: 31. Juli 2006 19:49
von Lisan
setText ueberschreinbt tatsaechlich die daten. Man sollte seine eigenen Daten an eine eigene Rolle binden.
Leider ist das in der Klasse nicgt dokumentiert.

Verfasst: 31. Juli 2006 21:42
von Saiyaman
Wenn man schon mit Roles und dergleichen rumspielt, sollte man doch gleich die richtige Model-View-Architektur verwenden, oder nicht?

MfG

Verfasst: 7. August 2006 21:24
von Lisan
recht hast du ;)