Seite 1 von 1

QListView zeigt meine Items nicht an

Verfasst: 18. Oktober 2006 15:15
von Goddchen
hi leute, ich hab da ein problem. ich habe ein ListModel gemacht und dann ein ListView mit dem ListModel verknüpft über ->setModel().
so... so, nun hab ich ein paar messageboxes zur kontrolle eingebaut... das ganz läuft folgendermaßen ab...
wenn ich ein item bei model adde dann wird es auch zum der privaten liste des models hinzugefügt... rowCount() liefert die richtige anzahl zurück. jedoch wird data() nur ein einziges mal für das erste Element aufgerufen, egal wie viele drin sind... und in der ListView steht dann gar nix drin :(
btw ich benutze qt4 unter windows...

vllt könnt ihr mir weiter helfen

Gr33tz Goddchen

Verfasst: 18. Oktober 2006 16:45
von upsala
Präsentier doch mal den Code vom Model...

Verfasst: 18. Oktober 2006 18:42
von Goddchen
http://svn.sourceforge.net/viewvc/gps/

hier findet ihr beides. header und implementierung... (ComputerListModel.h/cpp)
und das Modell wird initialisiert in MainWindow...

ich frag mich, ob der view das bemerkt wenn ich etwas zum modell adde? muss man nicht irgendwie aktualisieren() aufrufen oder ähnliches? ein signal emitten, damit der view das mitkriegt?

Verfasst: 18. Oktober 2006 18:51
von upsala
Wie ich es mir schon fast gedacht hatte, fehlt dort ein beginInsertRows und ein endInsertRows. Sieh dir mal die Dokumentation dazu in QAbstractItemModel an.

Code: Alles auswählen

beginInsertRows(QModelIndex(), ComputerList.count(), ComputerList.count());
ComputerList.append(comp);
endInsertRows();

Verfasst: 18. Oktober 2006 22:45
von Goddchen
hey das wars, DANKE :)
davon stand in dem beispiel in der doku leider nix :(