from PyQt5.QtGui import QPainter, QColor from PyQt5.QtWidgets import QApplication, QWidget import sys class Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setGeometry(300, 300, 350, 300) self.setWindowTitle('Restore Example') self.show() def paintEvent(self, event): qp = QPainter(self) qp.setBrush(QColor(255, 0, 0)) qp.drawRect(10, 10, 100, 100) # Draw a red rectangle qp.restore() # Restore previous state app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_())
from PyQt5.QtGui import QPainter, QColor, QPen from PyQt5.QtWidgets import QApplication, QWidget import sys class Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setGeometry(300, 300, 350, 300) self.setWindowTitle('Save and Restore Example') self.show() def paintEvent(self, event): qp = QPainter(self) pen = QPen(QColor(255, 0, 0), 5) qp.setPen(pen) qp.drawEllipse(50, 50, 100, 100) # Draw a red circle with thick border qp.save() # Save current state pen = QPen(QColor(0, 255, 0), 2) qp.setPen(pen) qp.drawEllipse(150, 50, 100, 100) # Draw a green circle with thin border qp.restore() # Return to previous state app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_())Library: PyQt5.QtGui