def do_update(self): poly = QtGui.QPolygonF() marginX = self.text.document().size().width() / 2 marginY = self.text.document().size().height() / 2 poly.append(QtCore.QPointF(-marginX, marginY)) poly.append(QtCore.QPointF(marginX, 3 * marginY)) poly.append(QtCore.QPointF(3 * marginX, marginY)) poly.append(QtCore.QPointF(marginX, -marginY)) self.bg.setPolygon(poly)
def bg_item(self): """return a canvas item for the shape in the background""" bg = QtWidgets.QGraphicsPolygonItem() poly = QtGui.QPolygonF() poly.append(QtCore.QPointF(-5, 5)) poly.append(QtCore.QPointF(15, -5)) poly.append(QtCore.QPointF(35, 5)) poly.append(QtCore.QPointF(15, 15)) bg.setPolygon(poly) return bg
def __init__(self, *args, **kargs): nodeBase.__init__(self, *args, **kargs) self.bg = self.bg_item() self.setZValue(20) self.bg.setZValue(10) self.bg.setPos(QtCore.QPointF(0, self.iconVPos)) self.addToGroup(self.bg)
def __init__(self, *args, **kargs): super().__init__(*args, **kargs) self.text = self.text_item() self.setZValue(20) self.text.setZValue(15) self.text.setPos(QtCore.QPointF(0, self.iconVPos)) self.addToGroup(self.text)
def setLine(self, x0, y0, x1, y1, hierarchyLink=False): self.line.setLine(x0, y0, x1, y1) x, y = x1 - (x1 - x0) / 3., y1 - (y1 - y0) / 3. if not hierarchyLink: r = 12. else: r = 6. a = atan2(y1 - y0, x1 - x0) w = 2.79252680 pts = [ QtCore.QPointF(x, y), QtCore.QPointF(x + r * cos(a + w), y + r * sin(a + w)), QtCore.QPointF(x + r * cos(a - w), y + r * sin(a - w)), # QtCore.QPointF(x, y), ] self.head.setPolygon(QtGui.QPolygonF(pts))
def __init__(self, *args, **kargs): nodeBase.__init__(self, *args, **kargs) self.text = self.text_item() # .text must be first for nodeComment, see its bg_item() self.bg = self.bg_item() if g.app.config.getBool("color_theme_is_dark"): bgcolor = QtGui.QColor(30, 50, 30) else: bgcolor = QtGui.QColor(200, 240, 200) self.bg.setBrush(QtGui.QBrush(bgcolor)) self.setZValue(20) self.bg.setZValue(10) self.text.setZValue(15) self.bg.setPen(QtGui.QPen(QtConst.NoPen)) self.text.setPos(QtCore.QPointF(0, self.iconVPos)) self.addToGroup(self.text) self.bg.setPos(QtCore.QPointF(0, self.iconVPos)) self.addToGroup(self.bg)