Ich habe eine abgeleitete Klasse aus QGraphicsScene
geschrieben. An einem Punkt muss ich alle Elemente aus der Szene entfernen und möchte, dass die Objekte physisch zerstört werden (Destruktor wird aufgerufen). Ich habe folgendes versucht:
Qt Creator gibt eine Warnung aus: Warnung: C4150: Löschen des Zeigers auf unvollständigen Typ 'QGraphicsItem'; kein Destruktor namens
Ich bin mir nicht sicher, warum das so ist. QGraphicsItem
hat einen virtuellen Destruktor, so dass die Elemente aus dem Speicher gelöscht werden sollten.
Wenn das nicht der richtige Weg ist, wie kann ich alle QGraphicsItem
s von QGraphicsScene
löschen? Beachten Sie, dass ich weiß, wenn die Szene gelöscht wird, werden alle Elemente auch gelöscht. Aber ich möchte Objekte aus der Szene entfernen und andere Objekte zeichnen. Ich möchte, dass die entfernten Objekte aus dem Speicher gelöscht werden.
Sie können alle Elemente mit QGraphicsScene :: clear () entfernen und löschen.
Sie müssen
%Vor% in dieser Datei. Andernfalls weiß der Compiler nicht, was QGraphicsScene::removeItem()
ist, dass er einen virtuellen Destruktor hat usw.
Sie können alle Elemente mit QGraphicsScene :: clear () entfernen und löschen.
Ich habe eine abgeleitete Klasse aus QGraphicsItem::~QGraphicsItem()
geschrieben. An einem Punkt muss ich alle Elemente aus der Szene entfernen und möchte, dass die Objekte physisch zerstört werden (Destruktor wird aufgerufen). Ich habe folgendes versucht:
Qt Creator gibt eine Warnung aus: Warnung: C4150: Löschen des Zeigers auf unvollständigen Typ 'QGraphicsItem'; kein Destruktor namens
Ich bin mir nicht sicher, warum das so ist. QGraphicsItem
hat einen virtuellen Destruktor, so dass die Elemente aus dem Speicher gelöscht werden sollten.
Wenn das nicht der richtige Weg ist, wie kann ich alle QGraphicsItem
s von QGraphicsScene
löschen? Beachten Sie, dass ich weiß, wenn die Szene gelöscht wird, werden alle Elemente auch gelöscht. Aber ich möchte Objekte aus der Szene entfernen und andere Objekte zeichnen. Ich möchte, dass die entfernten Objekte aus dem Speicher gelöscht werden.
Tags und Links c++ qt incomplete-type