void myLabel::enterEvent(QEvent*)
{
qDebug() << "鼠标进入";
}
void myLabel::leaveEvent(QEvent*)
{
qDebug() << "鼠标离开";
}
void myLabel::mousePressEvent(QMouseEvent *ev)
{
if (ev->button() == Qt::LeftButton)
{
QString mousePressString = QString("鼠标按下,x坐标为:%1,y坐标为:%2").arg(ev->globalX()).arg(ev->globalY());
qDebug() << mousePressString;
}
else if (ev->button() == Qt::RightButton)
{
qDebug() << "右键按下";
}
}
void myLabel::mouseMoveEvent(QMouseEvent *ev)
{
if (ev->buttons() & Qt::LeftButton)
{
QString mouseMoveString = QString("鼠标移动,x坐标为:%1,y坐标为:%2").arg(ev->globalX()).arg(ev->globalY());
qDebug() << mouseMoveString;
}
}
void myLabel::mouseReleaseEvent(QMouseEvent *ev)
{
if (ev->button() == Qt::LeftButton)
{
QString mouseReleaseString = QString("鼠标释放,x坐标为:%1,y坐标为:%2").arg(ev->x()).arg(ev->y());
qDebug() << mouseReleaseString;
}
else if (ev->button() == Qt::RightButton)
{
qDebug() << "右键释放";
}
}
this->setMouseTracking(true);
bool Widget::eventFilter(QObject* obj,QEvent* e)
{
if (obj == ui->label)
{
if (e->type() == QEvent::MouseButtonPress)
{
qDebug() << "事件过滤器拦截!";
}
}
return QWidget::eventFilter(obj,e);
}
bool myLabel::event(QEvent* ev)
{
if (ev->type() == QEvent::MouseButtonPress)
{
qDebug() << "鼠标按下被拦截!";
return true;
}
return QLabel::event(ev);
}