Код, который рисует примитивы на изображении.
Как теперь правильно написать удаление фигуры? Допустим, накидал прямоугольников и нужно удалить лишние. Мышкой выделяю нужный и удаляю. Как это правильно сделать?
Python:
import sys
from PyQt5 import QtCore, QtGui, QtWidgets # PyQt5
class MyWidget(QtWidgets.QWidget):
def __init__(self):
super().__init__()
self.resize(600, 400)
self.begin = QtCore.QPoint()
self.end = QtCore.QPoint()
self.pix = QtGui.QPixmap(600, 400)
self.pix.fill(QtCore.Qt.white)
def paintEvent(self, event):
qp = QtGui.QPainter(self)
qp.drawPixmap(0, 0, self.pix)
br = QtGui.QBrush(QtGui.QColor("transparent"))
qp.setBrush(br)
if self.begin and self.end:
rect = QtCore.QRect(self.begin, self.end)
qp.drawRect(rect)
def mousePressEvent(self, event):
if event.button() == QtCore.Qt.LeftButton:
self.begin = event.pos()
self.end = self.begin
self.update()
def mouseMoveEvent(self, event):
if event.buttons() == QtCore.Qt.LeftButton:
self.end = event.pos()
self.update()
def mouseReleaseEvent(self, event):
if event.button() == QtCore.Qt.LeftButton:
painter = QtGui.QPainter(self.pix)
rect = QtCore.QRect(self.begin, self.end)
painter.drawRect(rect)
self.begin = self.end = QtCore.QPoint()
self.update()
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
window = MyWidget()
window.show()
sys.exit(app.exec_())
Как теперь правильно написать удаление фигуры? Допустим, накидал прямоугольников и нужно удалить лишние. Мышкой выделяю нужный и удаляю. Как это правильно сделать?