头文件中加入:
bool eventFilter(QObject *obj, QEvent *event);
cpp中加入:
bool MainWindow::eventFilter(QObject *obj, QEvent *event)
{
if (event->type() == QEvent::MouseButtonPress)//mouse button pressed
{
QMouseEvent *mouseEvent = static_cast<QMouseEvent*>(event);
if(mouseEvent->button() == Qt::LeftButton)
{
if(obj == ui->label)
{
qDebug()<<"success!";
return true;
}
else
{
return false;
}
}
else
{
return false;
}
}
else
{
return QObject::eventFilter(obj, event);
}
}
label中进行使用:
ui->label->installEventFilter(this);