Я использую PySide2 для рисования моего виджета. Все работает, но в какой-то момент в моем paintEvent я хочу взять результат моей живописи, применить к нему размытие и затем скомпоновать его с оригиналом. Возможно ли это?
Я прочитал, что QGraphicsEffect применим только к виджетам, поэтому я нашел что-то вроде этого:
def applyEffectToImage(src, effect):
scene = QtWidgets.QGraphicsScene()
item = QtWidgets.QGraphicsPixmapItem()
item.setPixmap(QPixmap.fromImage(src))
item.setGraphicsEffect(effect)
scene.addItem(item)
res = QImage(src.size(), QImage.Format_ARGB32)
res.fill(Qt.transparent)
ptr = QPainter(res)
scene.render(ptr, QRectF(), QRectF(0,0, src.width(), src.height()) )
return res
, но даже с этим, что позволяет мне вызывать QGraphicsEffect внутри моего paintEvent, поскольку мой исходный источник - QPainter (self), как я могу преобразовать это в QImage?