Graphics Reference
In-Depth Information
def keyPressEvent(self, event):
if event.key() == Qt.Key_Backspace or \
event.key() == Qt.Key_Delete:
self.removeLastVertex()
event.ignore()
if event.key() == Qt.Key_Return or \
event.key() == Qt.Key_Enter:
points = self.getCapturedPoints()
self.stopCapturing()
if points != None:
self.pointsCaptured(points)
Once again, we've seen this logic before in the CaptureTool class. The only difference
is that we're only capturing LineString geometries, so we don't need to worry about the
capture mode.
We now get to the startCapturing() and stopCapturing() methods. These
create and release the rubber bands used by our map tool:
def startCapturing(self):
color = QColor("red")
color.setAlphaF(0.78)
self.rubberBand = QgsRubberBand(self.canvas,
QGis.Line)
self.rubberBand.setWidth(2)
self.rubberBand.setColor(color)
self.rubberBand.show()
self.tempRubberBand = QgsRubberBand(self.canvas,
QGis.Line)
self.tempRubberBand.setWidth(2)
self.tempRubberBand.setColor(color)
self.tempRubberBand.setLineStyle(Qt.DotLine)
self.tempRubberBand.show()
self.capturing = True
Search WWH ::




Custom Search