QLabel没有自带的点击事件,查看资料,可以给QLabel添加一个事件过滤实现点击效果
.h:
//给label添加事件
bool eventFilter(QObject *obj, QEvent *event);
.cpp
bool MainWindow::eventFilter(QObject *obj, QEvent *event){
//mouse button pressed
if (event->type() == QEvent::MouseButtonPress){
QMouseEvent *mouseEvent = static_cast<QMouseEvent*>(event);
if(mouseEvent->button() == Qt::LeftButton){
if(obj == ui->label_avator){
qDebug()<<"在这里写点击事件";
return true;
}else{
return false;
}
}else{
return false;
}
}else{
return QObject::eventFilter(obj, event);
}
}
最后给QLabel添加事件过滤
ui->label_avator->installEventFilter(this);