我想使用QGraphicsView
在QGraphicsItem
中绘制一个三角形对象。但我不知道如何根据triangler实现边界rect。
答案 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
。