e->button();返回的是触发事件的按键
e->buttons();返回的是事件发生后按键的状态
所以在使用鼠标绘图的时候,要用以下代码实现绘图
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();
}
}