Seite 1 von 1

[gelöst] QGraphicsScene löschen (clearen)?

Verfasst: 24. Februar 2010 00:36
von Timebeast
Hallo,
in letzter Zeit mag mich QT nicht mehr,...

Problem: Ich habe eine QGraphicScene auf der ich mit "scene.addLine" einige Linien gemalt habe. Jetzt will ich die Scene wieder "clearen". Ganz offensichtlich gab (oder gibt??) es eine Funktion Scene.clear(), die unter 4.3 aber wohl nicht mehr vorhanden ist... oder hab ich irgendwas vergessen zu includieren? Ausser "<QGraphicsScene>" sollte da doch nichts nötig sein.

In der Doku steht auch nur das es die member "clearFocus" und "clearSelection" gibt, die, meines erachtens, für mich nicht in Frage kommen.

Und, nebenbei, es kann ja wohl kaum die Lösung sein, sich zu merken wo welche Linie gezogen worden ist, und die dann alle nacheinander wieder zu löschen :roll:

Gruß
Ralf

Verfasst: 24. Februar 2010 06:29
von Christian81

Re: QGraphicsScene löschen (clearen)?

Verfasst: 24. Februar 2010 09:35
von franzf
Timebeast hat geschrieben:Funktion Scene.clear(), die unter 4.3 aber wohl nicht mehr vorhanden ist...
Warum verwendest du denn bitte noch 4.3? Wir sind mittlerweise bei 4.6.2, es hat sich verdammt viel getan!

Ansonsten musst du dir ne clear-Funktion selber schreiben...

Code: Alles auswählen

void clearScene( QGraphicsScene* scene ) {
    foreach( QGraphicsItem* i, scene->items() ) {
        scene->removeItem( i );
        delete i;
    }
}
Oder so ähnlich. Sei kreativ :P

Verfasst: 24. Februar 2010 12:22
von Timebeast
Huch, 4.6.2! Krass, wie die Zeit vergeht :shock:

Warum ich noch 4.3 verwende, tja, pure Faulheit würd ich sagen :oops:

Ist schon peinlich, die zweite Regel bei Fehlern auf Windows Rechnern mißachtet (nach Neustart meine ich), "installieren Sie erstmal die Neusten Version, und gucken dann, ob der Fehler immer noch besteht."

Naja, man wird Alt...


Gruß und danke
Ralf