0
0 комментариев

Есть программа, которая открывает изображение:

pixmap = QPixmap("pic.jpg")
self.image = QLabel (self)
self.image.setPixmap(pixmap)
self.image.move(200,10)
self.image.setObjectName("image")

Далее, по клику мыши на это изображение получает координаты точки клика. Как сделать так чтобы в этих координатах программа ставила точку?
Пытался делать через функцию:

pen = QPen(Qt.black,10)
qp=QPainter(self.image)
qp.setPen(pen)
qp.drawPoint(x,y)

Ничего не приходит, ошибок не выдает, точек не рисует. Картинка и функция рисования в одном классе. Использую python3.4, qt4.

class MainGui(QWidget):
 
    def __init__(self):
        super().__init__()
        self.init_UI()
 
    def init_UI(self):
        self.pixmap = QPixmap("pic.jpg")
        self.image = QLabel (self)
        self.image.setPixmap(self.pixmap)
        self.image.move(200,10)
        self.image.setObjectName("image")
        self.image.mousePressEvent = self.get_pos
 
   def drawPoints(self, pos):
        pen = QPen(Qt.black,10)
        qp=QPainter(self.image)
        qp.setPen(pen)
        qp.begin (self.image)
        qp.drawPoint(pos.x(),pos.y())
        self.image.update()
 
   def get_pos(self, event):
        X=event.pos().x()
        y=event.pos().y()
        self.drawPoints(event.pos())
 
if __name__ =='__main__':
     app = QApplication(sys.argv)
     ex = MainGui()
     ex.show()
     sys.exit(app.exec_())

Изменен статус публикации
Добавить комментарий