在PyQt中绘制线条(实时)

时间:2016-04-23 17:06:37

标签: python qt pyqt

我正在制作一个应用程序,我想通过使用行连接QGraphicsScene中的某些项目。我希望这是实时完成的,所以当我按住鼠标并尝试绘制线条时,我想看到正在绘制的线条。我已经写了一些代码来允许这个,但是这个代码的问题在于它一直在清除所有东西,我不知道解决这个问题。任何帮助将不胜感激。

class graphicsScene(QtGui.QGraphicsScene, QtGui.QWidget):
    self.pen = QtGui.QPen(QtCore.Qt.black, 3, QtCore.Qt.SolidLine)


    def mousePressEvent(self, event):
        if connectLine_cs == 1:
            self.cursorStartPosition = event.scenePos()
            self.start = QtCore.QPoint(self.cursorStartPosition.x(),self.cursorStartPosition.y())

    def mouseMoveEvent(self, event):
        if connectLine_cs == 1:
             self.cursorCurrentPosition = event.scenePos()
             current = QtCore.QPointF(self.cursorCurrentPosition.x(),self.cursorCurrentPosition.y())
             self.clear()
             link = QtGui.QGraphicsLineItem(QtCore.QLineF(self.start, current))
             link.setPen(self.pen)
             self.addItem(link)

0 个答案:

没有答案