Seite 1 von 1

[gelöst] QList Einträge zur Laufzeit erweitern

Verfasst: 16. Oktober 2013 11:05
von Alf79
Guten Tag,

ich habe eine QList (myList) als Membervariable in meiner Klasse die von QAbstractTableModel abegeleitet wurde. Nun möchte ich in dieser QList weitere QLists, mit QVariants darin, anlegen, d.h. QList<QList<QVariant> >.

Das ganze Konstrukt wird in einer Tabelle angezeigt. Da in regelmäßigen Abständen neue Daten hinzukommen, soll in "insertRows(...)" des Models eine QList<QVariant> der Membervariable hinzugefügt werden.

Laut meinem Verständnis:

Code: Alles auswählen

bool MyTableModel::insertRows(int position, int rows, const QModelIndex &index)
{
   QList<QVariant> nextList;
   myList.append(nextList);
}
// hier ist "nextList" aber schon wieder ungültig(?)
D.h. ich müsste die QList "nextList" mit "new" anlegen, und die Membervariable dahingehend ändern: QList<QList<QVariant>* > oder? Ist das der richtige Vorgehensweg? Und wie zerstöre ich dieses Konstrukt dann wieder effizient im Destruktor?

Danke!

Grüße,
Alfred

Re: QList Einträge zur Laufzeit erweitern

Verfasst: 16. Oktober 2013 13:18
von archer
Wenn dein Member myList, vom Typ QList<QList<QVariant> > ist kannst du das so lassen.
nextList wird als Kopie in myList angehängt. Und myList wird dann auch beim Löschen deiner
Klasseninstanz mit gelöscht.

Re: QList Einträge zur Laufzeit erweitern

Verfasst: 23. Oktober 2013 08:46
von Alf79
Danke für die Antwort, das hat mein Problem gelöst.