QMap<int, QWidget*> und clear()
Verfasst: 2. April 2006 18:11
Was passiert mit mit new erstellten QWidgets wenn ich clear() auf QMap aufrufe? Werden diese dann gelöscht oder nur der Zeiger auf das jeweilige Widget gelöscht?
Das deutschsprachige Forum rund um Qt
https://www.qtforum.de/
Code: Alles auswählen
QMap<int, QWidget*> map;
delete map[1];
[quote]
die 1 ist jetzt nur ein beispiel....[/quote]Code: Alles auswählen
QMapIterator<int, QWidget *> it(map);
while (it.hasNext()) {
it.next();
delete it.value();
}
map.clear();Code: Alles auswählen
for ( QMapIterator < int, QWidget * > it = map.begin ( ); it != map.end ( ); )
{
if ( it.value ( ) != NULL )
delete it.value ( );
it = map.erase ( it );
}Code: Alles auswählen
if ( it.value ( ) != NULL )Code: Alles auswählen
delete 0;