您的位置:首页 > 编程语言 > Qt开发

QT5双缓冲绘图简单代码

2015-07-29 12:29 477 查看
Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    pix = new QPixmap(640, 480);
}

void Widget::mousePressEvent(QMouseEvent *e)
{
    m_startPos = e->pos();
}

void Widget::mouseMoveEvent(QMouseEvent *e)
{
    QPainter *painter = new QPainter;

    QPen pen;
   // pen.setStyle((Qt::PenStyle)style);
    pen.setWidth(2);
    QColor color(Qt::red);
    pen.setColor(color);

    painter->begin(pix);
    painter->setPen(pen);
    painter->drawLine(m_startPos,e->pos());
    painter->end();
    m_startPos =e->pos();
    update();
}

void Widget::paintEvent(QPaintEvent *)
{
    QPainter painter(this);
    painter.drawPixmap(QPoint(0,0),*pix);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: