سؤال

I want to draw a triangular object in QGraphicsView by using QGraphicsItem. But I don't know how to implement bounding rect according to triangler.

هل كانت مفيدة؟

المحلول

You could use a QGraphicsPolygonItem.

You just have to describe a triangle polygon with QPolygonF and then add it to your scene with 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);

This way, everything is handled by Qt, you don't have to worry about bounding rect.

نصائح أخرى

To draw triangle you need 3 points and draw the line between them. Subclass the QGraphicsItem and in the paint method of subclass class draw triangle later set the item to QGraphicsScene then add the scene to QGraphicsView.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top