There is a QLabel on the widget. How to make it so that when you click on QLabel the widget's mouseReleaseEvent slot mouseReleaseEvent , not QLabel ?

enter image description here

    1 answer 1

    QEventFilter used for this:

     MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); ui->label->installEventFilter(this); //устанавливаем фильтр } bool MainWindow::eventFilter(QObject *target, QEvent *event) { if (event->type() == QEvent::MouseButtonRelease && target == ui->label) //проверяем тип события и отправителя { mouseReleaseEvent((QMouseEvent *)event); //приводим событие к нужному типу //и отправляем в окно return true; } return QMainWindow::eventFilter(target, event); } void MainWindow::mouseReleaseEvent(QMouseEvent *event) { qDebug()<<"release!"; }