如何使用QGraphicsView的QGraphicsItem类绘制三角形

时间:2010-10-19 06:39:46

标签: c++ qt qgraphicsview qgraphicsitem

我想使用QGraphicsViewQGraphicsItem中绘制一个三角形对象。但我不知道如何根据triangler实现边界rect。

2 个答案:

答案 0 :(得分:8)

您可以使用QGraphicsPolygonItem

您只需使用QPolygonF描述三角形多边形,然后使用QGraphicsScene::addPolygon()将其添加到场景中。

// Describe a closed triangle
QPolygonF Triangle;
Triangle.append(QPointF(-10.,0));
Triangle.append(QPointF(0.,-10));
Triangle.append(QPointF(10.,0));
Triangle.append(QPointF(-10.,0));

// Add the triangle polygon to the scene
QGraphicsPolygonItem* pTriangleItem = pScene->addPolygon(Triangle);

这样,一切都由Qt处理,你不必担心绑定rect。

答案 1 :(得分:0)

要绘制三角形,您需要3个点并在它们之间画线。子类QGraphicsItem并在子类类绘制三角形的paint方法中稍后将项目设置为QGraphicsScene,然后将场景添加到QGraphicsView