本文整理汇总了Python中qad_rubberband.QadRubberBand.setFillColor方法的典型用法代码示例。如果您正苦于以下问题:Python QadRubberBand.setFillColor方法的具体用法?Python QadRubberBand.setFillColor怎么用?Python QadRubberBand.setFillColor使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qad_rubberband.QadRubberBand
的用法示例。
在下文中一共展示了QadRubberBand.setFillColor方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: Qad_circle_maptool
# 需要导入模块: from qad_rubberband import QadRubberBand [as 别名]
# 或者: from qad_rubberband.QadRubberBand import setFillColor [as 别名]
class Qad_circle_maptool(QadGetPoint):
def __init__(self, plugIn):
QadGetPoint.__init__(self, plugIn)
self.centerPt = None
self.radius = None
self.firstPt = None
self.secondPt = None
self.firstDiamPt = None
self.tan1 = None
self.tan2 = None
self.startPtForRadius = None
self.__rubberBand = QadRubberBand(self.canvas, False)
self.geomType = QGis.Polygon
def setRubberBandColor(self, rubberBandBorderColor, rubberBandFillColor):
if rubberBandBorderColor is not None:
self.__rubberBand.setBorderColor(rubberBandBorderColor)
if rubberBandFillColor is not None:
self.__rubberBand.setFillColor(rubberBandFillColor)
def hidePointMapToolMarkers(self):
QadGetPoint.hidePointMapToolMarkers(self)
self.__rubberBand.hide()
def showPointMapToolMarkers(self):
QadGetPoint.showPointMapToolMarkers(self)
self.__rubberBand.show()
def clear(self):
QadGetPoint.clear(self)
self.__rubberBand.reset()
self.mode = None
def canvasMoveEvent(self, event):
QadGetPoint.canvasMoveEvent(self, event)
self.__rubberBand.reset()
result = False
circle = QadCircle()
# noto il centro del cerchio si richiede il raggio
if self.mode == Qad_circle_maptool_ModeEnum.CENTER_PT_KNOWN_ASK_FOR_RADIUS:
radius = qad_utils.getDistance(self.centerPt, self.tmpPoint)
circle.set(self.centerPt, radius)
result = True
# noto il centro del cerchio si richiede il diametro
elif self.mode == Qad_circle_maptool_ModeEnum.CENTER_PT_KNOWN_ASK_FOR_DIAM:
diam = qad_utils.getDistance(self.centerPt, self.tmpPoint)
result = circle.set(self.centerPt, diam / 2)
result = True
# noto il primo e il secondo punto si richiede il terzo punto
elif self.mode == Qad_circle_maptool_ModeEnum.FIRST_SECOND_PT_KNOWN_ASK_FOR_THIRD_PT:
if (self.firstPt is not None) and (self.secondPt is not None):
result = circle.from3Pts(self.firstPt, self.secondPt, self.tmpPoint)
# noto il primo punto di estremità diam si richiede il secondo punto di estremità diam
elif self.mode == Qad_circle_maptool_ModeEnum.FIRST_DIAM_PT_KNOWN_ASK_FOR_SECOND_DIAM_PT:
if self.firstDiamPt is not None:
result = circle.fromDiamEnds(self.firstDiamPt, self.tmpPoint)
# noto note la prima, la seconda entita dei punti di tangenza e il primo punto per misurare il raggio
# si richiede il secondo punto per misurare il raggio
elif self.mode == Qad_circle_maptool_ModeEnum.FIRST_SECOND_TAN_FIRSTPTRADIUS_KNOWN_ASK_FOR_SECONDPTRADIUS:
radius = qad_utils.getDistance(self.startPtForRadius, self.tmpPoint)
result = circle.from2TanPtsRadius(self.tanGeom1, self.tanPt1, \
self.tanGeom2, self.tanPt2, radius)
if result == True:
points = circle.asPolyline()
if points is not None:
if self.geomType == QGis.Polygon:
self.__rubberBand.setPolygon(points)
else:
self.__rubberBand.setLine(points)
def activate(self):
QadGetPoint.activate(self)
self.__rubberBand.show()
def deactivate(self):
try: # necessario perché se si chiude QGIS parte questo evento nonostante non ci sia più l'oggetto maptool !
QadGetPoint.deactivate(self)
self.__rubberBand.hide()
except:
pass
def setMode(self, mode):
self.mode = mode
# noto niente si richiede il centro
if self.mode == Qad_circle_maptool_ModeEnum.NONE_KNOWN_ASK_FOR_CENTER_PT:
self.setDrawMode(QadGetPointDrawModeEnum.NONE)
# noto il centro del cerchio si richiede il raggio
elif self.mode == Qad_circle_maptool_ModeEnum.CENTER_PT_KNOWN_ASK_FOR_RADIUS:
self.setDrawMode(QadGetPointDrawModeEnum.ELASTIC_LINE)
#.........这里部分代码省略.........
示例2: Qad_mbuffer_maptool
# 需要导入模块: from qad_rubberband import QadRubberBand [as 别名]
# 或者: from qad_rubberband.QadRubberBand import setFillColor [as 别名]
class Qad_mbuffer_maptool(QadGetPoint):
def __init__(self, plugIn):
QadGetPoint.__init__(self, plugIn)
self.startPtForBufferWidth = None
# vedi il numero minimo di punti affinché venga riconosciuto un arco o un cerchio
# nei files qad_arc.py e qad_circle.py
self.segments = 12
self.entitySet = QadEntitySet()
self.geomType = QGis.Polygon
self.__rubberBand = QadRubberBand(self.canvas, True)
def setRubberBandColor(self, rubberBandBorderColor, rubberBandFillColor):
if rubberBandBorderColor is not None:
self.__rubberBand.setBorderColor(rubberBandBorderColor)
if rubberBandFillColor is not None:
self.__rubberBand.setFillColor(rubberBandFillColor)
def hidePointMapToolMarkers(self):
QadGetPoint.hidePointMapToolMarkers(self)
self.__rubberBand.hide()
def showPointMapToolMarkers(self):
QadGetPoint.showPointMapToolMarkers(self)
self.__rubberBand.show()
def clear(self):
QadGetPoint.clear(self)
self.__rubberBand.reset()
self.mode = None
def canvasMoveEvent(self, event):
QadGetPoint.canvasMoveEvent(self, event)
self.__rubberBand.reset()
# noto il primo punto si richiede la larghezza del buffer
if self.mode == Qad_mbuffer_maptool_ModeEnum.FIRST_PT_ASK_FOR_BUFFER_WIDTH:
width = qad_utils.getDistance(self.startPtForBufferWidth, self.tmpPoint)
tolerance = QadVariables.get(QadMsg.translate("Environment variables", "TOLERANCE2APPROXCURVE"))
for layerEntitySet in self.entitySet.layerEntitySetList:
layer = layerEntitySet.layer
geoms = layerEntitySet.getGeometryCollection()
for geom in geoms:
# trasformo la geometria nel crs del canvas per lavorare con coordinate piane xy
newGeom = self.layerToMapCoordinates(layer, geom)
bufferGeom = qad_utils.ApproxCurvesOnGeom(newGeom.buffer(width, self.segments), \
self.segments, self.segments, \
tolerance)
if bufferGeom:
# trasformo la geometria nel crs del layer
self.__rubberBand.addGeometry(self.mapToLayerCoordinates(layer, bufferGeom), layer)
def activate(self):
QadGetPoint.activate(self)
self.__rubberBand.show()
def deactivate(self):
try: # necessario perché se si chiude QGIS parte questo evento nonostante non ci sia più l'oggetto maptool !
QadGetPoint.deactivate(self)
self.__rubberBand.hide()
except:
pass
def setMode(self, mode):
self.mode = mode
# noto niente si richiede il primo punto
if self.mode == Qad_mbuffer_maptool_ModeEnum.NONE_KNOWN_ASK_FOR_FIRST_PT:
self.setDrawMode(QadGetPointDrawModeEnum.NONE)
# noto il primo punto si richiede la larghezza del buffer
elif self.mode == Qad_mbuffer_maptool_ModeEnum.FIRST_PT_ASK_FOR_BUFFER_WIDTH:
self.setDrawMode(QadGetPointDrawModeEnum.ELASTIC_LINE)
self.setStartPoint(self.startPtForBufferWidth)