mousePressEvent和mouseMoveEvent判断【鼠标按下事件】的区别:
如果是MousePressEvent判断按下是这样去判断:
void XXX::mousePressEvent(QMouseEvent *event)
{
//鼠标左键按下
if(event->button() == Qt::LeftButton)
{
//todo
}
return QWidget::mousePressEvent(event);
}
因为是【鼠标左键按下】触发了这个事件。
但是MouseMoveEvent判断鼠标左键移动是这样判断:
void XXX::mouseMoveEvent(QMouseEvent *event)
{
//鼠标左键
if(event->buttons() & Qt::LeftButton)
{
//todo
}
return QWidget::mouseMoveEvent(event);
}
因为当mouseMoveEvent这个事件触发时,【鼠标左键按下】已经触发了。
注意区别:
button()、buttons()及判断方式。