В объявлении класса добавляешь метод
bool eventFilter(QObject *, QEvent *);
Для списка устанавливаешь этот фильтр где-то в конструкторе класса:
ui->listWidget->viewport()->installEventFilter(this);
реализуешь сам фильтр например так:
bool класс::eventFilter(QObject *obj, QEvent *event)
{
    QListWidget *lw = (QListWidget*)(obj);
    if(lw)
    { if(event->type()==QEvent::MouseButtonPress)
      { QMouseEvent *me = (QMouseEvent*)event;
        if(me->button()==Qt::LeftButton)
        { QMessageBox::about(this,"filter","I catch left click");
        }
      }
    }
    return QWidget::eventFilter( obj, event );
}