Was bedeutet QPainter::save () und QPainter::restore () zu tun?
Ich bin nicht sicher, was es ist, dass QPainter
tut, wenn ich rufe save()
und restore()
.
Ist es das Bild speichern es ist Zeichnung oder ist es nur das speichern von Informationen wie penWidth
und color
etc.?
Könnte ich es verwenden, um wiederherstellen das Bild einer früheren paint-Ereignis?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vom die Dokumentation:
Alle diese Einstellungen finden Sie unter dem angegebenen link. So ist es nur das speichern der paint-Einstellungen, und nichts, das ist tatsächlich gemalt.
Als Sie wahrscheinlich ändern die Farbe und Stil, oder jede andere Einstellung der Farbe, die Sie normalerweise beenden möchten Sie Ihre Farbe-Funktion mit den gleichen Einstellungen, die es hatte, als den kommenden. Somit nutzen Sie
QPainter::save()
vor einem Wechsel in Maler und EinstellungenQPainter::restore()
nachdem Sie fertig sind Zeichnung mit geänderten Einstellungen, wie z.B.painter->save()
stellt den Zustand des Malers auf einem Stapelpainter->restore()
zieht der Staat vom Stapel und ändert die Einstellungen übereinstimmen.Wenn man speichern/wiederherstellen eine Menge, es ist schön zu haben, ein wenig RAII-Klasse ("PainterSaver"), um sicherzustellen, dass jeder save() (erledigt in der ctor) hat eine entsprechende restore () - Aufruf (fertig in der dtor), sonst kann es böse "unsymmetrisch" speichern/wiederherstellen" - Fehler.