如何在qt的QGraphicsView框架里画折线?
最近在用QGraphicsview画图。不知道如何方便地在graphicsScene里面画折线。难道要一条一条的画直线然后连起来吗?折线上的点是不固定的,需要用鼠标单击输...
最近在用QGraphicsview画图。不知道如何方便地在graphicsScene里面画折线。难道要一条一条的画直线然后连起来吗?折线上的点是不固定的,需要用鼠标单击输入。求大家给条思路,或者大致的方法、伪代码等。不胜感激。
展开
展开全部
自己定义一个polylineitem类,鼠标单击时,把坐标点保存在一个QVector中,在polylineitem类的paint函数中绘制折线,调用QPainter类的drawPolyline()函数进行绘制。
追问
这是要重新定义paint函数吧?那还用不用重新定义boundingrect()函数呢?他俩通常不都是在一块利用的吗?因为折线上的点是不固定的,所以不知道boundingrect要定义成多大的矩形?
追答
是要重新实现paint()函数,boundingrect()及shape()函数也要重新实现,对于shap(),用QPainterPath类中的lineTo()函数根据你得到的点来绘制出path并返回就行了,而path.controlPointRect() 就可以得到对应的boundingRect了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询