GraphicsTriangleItem.cpp 928 B

1234567891011121314151617181920212223242526272829303132333435
  1. #include "GraphicsTriangleItem.h"
  2. GraphicsTriangleItem::GraphicsTriangleItem(const QRect &rect, QGraphicsItem *parent)
  3. :GraphicsRectItem(rect,parent)
  4. {
  5. }
  6. QPainterPath GraphicsTriangleItem::shape() const
  7. {
  8. QPainterPath path;
  9. QRectF rc = rect();
  10. QPointF middle =QPointF((rc.left() + rc.right())*0.5,0);
  11. QPolygonF item;
  12. item <<rc.bottomLeft()<<middle<< rc.bottomRight()<<rc.bottomLeft();
  13. path.addPolygon(item);
  14. return qt_graphicsItem_shapeFromPath(path,_pen);
  15. }
  16. void GraphicsTriangleItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
  17. {
  18. QRectF rc = rect();
  19. QPointF middle =QPointF((rc.left() + rc.right())*0.5,0);
  20. QPolygonF item;
  21. item <<rc.bottomLeft()<<middle<< rc.bottomRight()<<rc.bottomLeft();
  22. QPen pen =painter->pen();
  23. pen.setWidth(4);
  24. pen.setColor(m_color);
  25. painter->setPen(pen);
  26. painter->drawPolygon(item);
  27. }