Qt 鼠标移动实现绘图

e->button();返回的是触发事件的按键

e->buttons();返回的是事件发生后按键的状态

Qt 鼠标移动实现绘图_第1张图片

所以在使用鼠标绘图的时候,要用以下代码实现绘图

void Dialog::mousePressEvent(QMouseEvent *event)
{
    if(event->button() == Qt::LeftButton)
    {
        lastPoint = event->pos();
    }
    endPoint = lastPoint;
}

void Dialog::mouseMoveEvent(QMouseEvent *event)
{
    if (event->buttons() & Qt::LeftButton)  // 特别注意这里必须是buttons
    {
        endPoint = event->pos();
        update();

    }
}

 

你可能感兴趣的:(Qt事件,Qt鼠标移动事件,button)