def __init__(self, pos=None, parent=None): QGraphicsObject.__init__(self, parent=parent) MapItem.__init__(self) self.setZValue(200.0) self._anchorPos = QPointF(pos) if pos is not None else QPointF( 10.0, 10.0) self._border = QGraphicsRectItem(parent=self) self._border.setPen(QPen(Qt.NoPen)) self._border.setBrush(QBrush(QColor(190, 190, 190, 160))) self._entries = list() self._entriesGroup = QGraphicsItemGroup(parent=self)
def __init__(self, longitudes, latitudes, parent=None): QGraphicsItem.__init__(self, parent=parent) MapItem.__init__(self) assert len(longitudes) == len(latitudes) assert len(longitudes) >= 2 self._longitudes = np.array(longitudes, dtype=np.float64) self._latitudes = np.array(latitudes, dtype=np.float64) # Setup internal lines linesGroup = QGraphicsItemGroup(parent=self) self._linesGroup = linesGroup self._lines = [ QGraphicsLineItem(parent=linesGroup) for i in iterRange(len(longitudes) - 1) ]
def drawRGBACrosshair(self): """ rgba_topline_item rgba_botline_item rgba_leftline_item rgba_rightline_item: rgba_crosshair_item_circle: center portion of crosshair """ # vertical line self.rgba_topline_item = DualColoredLineSegment() self.rgba_topline_item.setLine(0, 0, 0, self.height()) self.rgba_botline_item = DualColoredLineSegment() self.rgba_botline_item.setLine(0, 0, 0, self.height()) # horizontal line self.rgba_leftline_item = DualColoredLineSegment() self.rgba_leftline_item.setLine(0, 0, self.width(), 0) self.rgba_rightline_item = DualColoredLineSegment() self.rgba_rightline_item.setLine(0, 0, self.width(), 0) # crosshair circle self.rgba_crosshair_item_circle = QGraphicsEllipseItem() self.rgba_crosshair_item_circle.setRect( -(self.CROSSHAIR_RADIUS * 0.5), -(self.CROSSHAIR_RADIUS * 0.5), self.CROSSHAIR_RADIUS, self.CROSSHAIR_RADIUS ) # add items self.rgba_crosshair_item = QGraphicsItemGroup() self.rgba_crosshair_item.addToGroup(self.rgba_crosshair_item_circle) self.rgba_crosshair_item.addToGroup(self.rgba_topline_item) self.rgba_crosshair_item.addToGroup(self.rgba_botline_item) self.rgba_crosshair_item.addToGroup(self.rgba_leftline_item) self.rgba_crosshair_item.addToGroup(self.rgba_rightline_item) self.addItem(self.rgba_crosshair_item)