[gelöst] Löschen eines benutzerdefinierten QGraphicsItem
Verfasst: 8. Oktober 2008 15:43
Hallo,
ich habe eine Itemklasse von QGraphicsItem abgeleitet und Funktionen wie paint() und boundingRect() meinen Vorstellungen angepasst. Funktioniert auch alles soweit.
Da das selektieren eines Items bei mir nicht richtig klappt, habe ich meiner Klasse eine public Methode spendiert, die das übernehmen soll und intern auch einen neuen Zustand verwaltet (nein, ich habe nicht versucht die setSelected() zu überschreiben).
Ich kann Items in meine Scene ohne Probleme einfügen aber sobald ich das Programm beende oder versuche das Item zu löschen gibt es ne Speicherschutzverletzung im Destruktor von QGraphicsItem bei:
Lasse ich den Konstruktoraufruf von QGraphicsItem beim Löschen weg funktioniert alles solang das Programm läuft, kommt aber dann beim Beenden der gleiche Fehler. Kann ich das irgendwie abfangen bzw. was muss ich berichtigen?
Ich habe in meiner Klasse auch noch eine protected Methode die ohne Probleme funktioniert?!
Vielen Dank für Hinweise.
ich habe eine Itemklasse von QGraphicsItem abgeleitet und Funktionen wie paint() und boundingRect() meinen Vorstellungen angepasst. Funktioniert auch alles soweit.
Da das selektieren eines Items bei mir nicht richtig klappt, habe ich meiner Klasse eine public Methode spendiert, die das übernehmen soll und intern auch einen neuen Zustand verwaltet (nein, ich habe nicht versucht die setSelected() zu überschreiben).
Ich kann Items in meine Scene ohne Probleme einfügen aber sobald ich das Programm beende oder versuche das Item zu löschen gibt es ne Speicherschutzverletzung im Destruktor von QGraphicsItem bei:
Code: Alles auswählen
delete d_ptr;Ich habe in meiner Klasse auch noch eine protected Methode die ohne Probleme funktioniert?!
Vielen Dank für Hinweise.