У меня есть QPixmap
объект в QLabel
объекте.Я хочу нарисовать прямоугольники этого растрового изображения, чтобы я мог получить координаты этого прямоугольника на изображении.Моя проблема в том, что когда я рисую этот прямоугольник qrubberband в этом растровом изображении, он не получает исходные координаты изображения.Это становится другим, и я не знаю почему.Вот мой код, где я создаю свою qrubberband.
def mousePressEvent (self, eventQMouseEvent):
if eventQMouseEvent.buttons() == Qt.LeftButton:
self.originQPoint = eventQMouseEvent.pos()
self.currentQRubberBand = QRubberBand(QRubberBand.Rectangle, self)
self.sequence.append(self.currentQRubberBand)
r = randint(0, 255)
g = randint(0, 255)
b = randint(0, 255)
palette = QPalette()
palette.setColor(self.currentQRubberBand.foregroundRole(), QColor(r, g, b))
self.currentQRubberBand.setPalette(palette)
self.currentQRubberBand.setGeometry(QRect(self.originQPoint, QSize()))
self.currentQRubberBand.show()
elif eventQMouseEvent.buttons() == Qt.RightButton:
found = False
for rect in self.sequence:
if(rect.geometry().contains(eventQMouseEvent.pos())):
self.menu = MenuRectangle(self._timeline, eventQMouseEvent, rect,
self.imageLabel, self.sequence)
found = True
if not found:
self.menuglobalimage = MenuGlobalImage(self._timeline, eventQMouseEvent, self._topic,
self.sequence, self.imageLabel, self.stamp)
def mouseMoveEvent (self, eventQMouseEvent):
self.currentQRubberBand.setGeometry(QRect(self.originQPoint, eventQMouseEvent.pos()).normalized())
Спасибо заранее.