您的位置:首页 > 大数据 > 人工智能

十八.利用QPainter作图

2015-10-21 22:03 519 查看
在QWidget中重载paintEvent事件,在事件函数中作图

void MyPainter::paintEvent(QPaintEvent */*event*/)

{

    QPainter painter(this);

    //设定钢笔工具

    QPen pen;

    pen.setStyle(Qt::SolidLine);

    pen.setWidth(1);

    pen.setBrush(Qt::blue);

    pen.setCapStyle(Qt::RoundCap);

    pen.setJoinStyle(Qt::RoundJoin);

    painter.setPen(pen);

    //设定线性渐变工具,可加入到刷子工具中使用

    QLinearGradient gradient(10,10,100,100);

    gradient.setColorAt(0.0,Qt::white);

    gradient.setColorAt(0.2,Qt::red);

    gradient.setColorAt(0.8,Qt::black);

    //设定刷子工具 

    QBrush brush(gradient);

    //brush.setColor(Qt::red);

    //brush.setStyle(Qt::SolidPattern);

    painter.setBrush(brush);

    //作路径 

    QPainterPath path;

    path.moveTo(20,20);

    path.cubicTo(20,45,56,39,56,45);

    //设定反锯齿作图,可使得曲线平滑 

    painter.setRenderHint(QPainter::Antialiasing,true);    

    //画图

    painter.save();//保存状态

    //painter.drawLine(10,10,200,200);

    painter.drawRect(10,10,50,50);

    //painter

    //painter.drawPath(path);

    painter.restore();//恢复状态

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: