Seite 1 von 1

Gibt QListWIdget::clear() Speicher frei?

Verfasst: 19. August 2008 10:04
von Delryn
Hallo!

Ich habe eine Anwendung die ein QListWidget hat, dort füge ich quasi ständig neue items mit addItem hinzu und wenn das QListWidget eine bestimmte Anzahl von Elementen enthält, rufe ich clear auf.

Unter Windows lief das bisher auch problemlos (ich bin mir auch zu 95% sicher das ich selber nirgendwo ein delete vergessen habe).

Jetzt hab ich das ganze jetzt unter Linux compiliert und da ist mir aufgefallen, dass der genutzte Speicher meiner Anwendung immer weiter steigt, so als ob clear() die ListWidgetItems nicht löschen würde.

Hat da jemand ähnliche Erfahrungen oder Ideen?

Verfasst: 19. August 2008 10:44
von pfid
Die Items bekommen im Konstruktor auch immer schön das ListWidget mit, ja?

Verfasst: 19. August 2008 11:09
von Delryn
pfid hat geschrieben:Die Items bekommen im Konstruktor auch immer schön das ListWidget mit, ja?
hm im MOment nicht, nein:
QListWidgetItem::QListWidgetItem ( QListWidget * parent = 0, int type = Type )

Constructs an empty list widget item of the specified type with the given parent. If the parent is not specified, the item will need to be inserted into a list widget with QListWidget::insertItem().

See also type().
Ich füge die mit insertItem hinzu? Muss ich jetzt doch irgendwas ändern?

Verfasst: 19. August 2008 14:00
von pfid
Und wenn du das Item nicht selbst erzeugst, sondern in der Liste per
void QListWidget::addItem ( const QString & label )
hinzufügst?