def __init__(self, parent, pos, angle, pit=False): QGraphicsItemGroup.__init__(self, parent) AbstractSector.__init__(self, pos, angle) self.setZValue(3) self.black = QGraphicsPathItem(self) self.white = QGraphicsPathItem(self) start = 3 * (_trackWidth / 2) end = -start - abs(_pitDistance if pit else 0) rowdelta = _trackWidth / 4 for item, y in [(self.black, -rowdelta), (self.white, rowdelta)]: item.setCacheMode(QGraphicsPathItem.DeviceCoordinateCache) self.addToGroup(item) path = QPainterPath() path.moveTo(start, y) path.lineTo(end, y) path.moveTo(end, -y) path.lineTo(start, -y) item.setPath(path) pen = QPen(Qt.black, _trackWidth / 2) pen.setCapStyle(Qt.FlatCap) pen.setDashPattern([1, 1]) self.black.setPen(QPen(pen)) pen.setColor(Qt.white) self.white.setPen(pen)
def __init__(self, **kwarg): QGraphicsItemGroup.__init__(self) if kwarg.has_key('movable'): self.setFlag(QGraphicsItem.ItemIsMovable, kwarg['movable']) del kwarg['movable'] if kwarg.has_key('toolTip'): self.setToolTip(kwarg['toolTip']) del kwarg['toolTip'] self._setup(**kwarg)
def __init__(self, sectors, colorfunc): QGraphicsItemGroup.__init__(self) self.setHandlesChildEvents(False) sectors = self._sectorsToItems(sectors, colorfunc) self.__sectors = [] self.__totalLength = 0 for s in sectors: self.addToGroup(s) if isinstance(s, FinishLine): self.__offset = self.__totalLength elif s.length() > 0: s.setSectorId(len(self.__sectors)) self.__sectors.append(s) self.__totalLength += s.length()
def __init__(self, parent, sectype, *args): QGraphicsItemGroup.__init__(self, parent) self.setHandlesChildEvents(False) self.setZValue(2) self.pit = sectype(self, *args, pit=True) self.regular = sectype(self, *args, pit=False) self.addToGroup(self.pit) self.addToGroup(self.regular) # act as a proxy for almost all methods self.enableHoverEffect = self.regular.enableHoverEffect self.finalLocation = self.regular.finalLocation self.length = self.regular.length self.sectorId = self.regular.sectorId self.setColor = self.regular.setColor self.setSectorId = self.regular.setSectorId self.setToolTip = self.regular.setToolTip