如何设置QGraphicsItem线宽不随QGraphicsView缩放而变小或变大

很简单,只需要重写一下Item中的paint()方法

void my_line_item::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
    QPen pen;
    double scaleFactor = painter->matrix().m11();
    pen.setWidth(pen.width()/scaleFactor); //线段保持原来的线宽

//    线宽也可以设置为固定值
//    pen.setWidth(1);
    painter->setPen(pen);
    painter->drawLine(startpoint,endpoint);
}

 

posted @ 2018-11-28 15:06  LeorI  阅读(2026)  评论(0编辑  收藏  举报