def generate(self, points, show_label=False):
qpolygon = QPolygonF([QPointF(xp, yp) for xp, yp in points])
self.setPolygon(qpolygon)
pen = QPen()
pen.setWidth(3)
self.setPen(pen)
self.setFlag(QGraphicsItem.ItemIsFocusable)
self.label = QGraphicsSimpleTextItem("{}-{}".format(self.x, self.y), parent=self)
self.label.setVisible(show_label)
if len(points) == 6:
k = 0.5 if (self.x % 2) != 0 else 0
self.label.setPos(QPointF(((self.x * 0.866) + 0.2886) * 120, (self.y + k + 0.5) * 120))
else:
self.label.setPos(QPointF(self.x * 120, self.y * 120))
font = QFont()
font.setPointSize(20)
self.label.setFont(font)
评论列表
文章目录