示例#1
0
class EditGenericAttributes(QgsMapToolEmitPoint):
    """
    Tool to edit generic attributes by clicking on
    the map.
    """
    def __init__(self, canvas, layer):

        QgsMapToolEmitPoint.__init__(self, canvas)
        self.canvas = canvas
        self.layer = layer

        self.identifier = QgsMapToolIdentifyFeature(canvas, layer)

        self.setCursor(Qt.CrossCursor)

    def canvasReleaseEvent(self, event):
        feature = self.identifier.identify(
            event.x(), event.y(), self.identifier.TopDownStopAtFirst)[0]
        self.identifier.featureIdentified.emit(feature.mFeature)

    def deactivate(self):
        QgsMapTool.deactivate(self)
        self.deactivated.emit()