用PyQt5绘制三角形

2024-09-28 20:18:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个QGraphicsScene,我正试图通过一个QGraphicsPolygonItem添加一个三角形。在

class MainScene(QtWidgets.QGraphicsScene):
def __init__(self, *args, parent=None):
    self.brush = QtGui.QBrush('94c3e4')
    QtWidgets.QGraphicsScene.__init__(self, parent, *args)
    self.setBackgroundBrush(QtGui.QBrush(QtGui.QColor.fromRgb(209, 233, 249)))
....
## run every time a point is selected to become part of a triangle
    TrianglePts.append(Points2[indexW].scenePos())
    Points2[indexW].greenSelect()
    if len(TrianglePts) == 3:
        print(TrianglePts)
        triangle = TriangleItem(QtGui.QPolygonF(TrianglePts))
        self.addItem(triangle)


class TriangleItem(QtWidgets.QGraphicsPolygonItem):
    def __init__(self, polygon, parent=None):
        QtWidgets.QGraphicsPolygonItem.__init__(self, polygon, parent)
        self.setBrush(QtGui.QBrush(QtGui.QColor.fromRgb(249, 245, 209)))

由于某些原因,三角形永远不会被渲染。我做了一些类似于渲染点的操作,而且看起来很管用。以下是自定义类:

^{pr2}$

有人知道我需要做什么来渲染三角形吗?我很乐意提供更多必要的代码。在


Tags: selfnoneinitdefargsclassparenttriangle