Вообще-то еще есть installEventFilter().
Можно еще соединить сигнал QAbstractItemView::clicked(QModelIndex &) со слотом в котором координаты мыши получить через QCursor::pos()
Проблема в том что нужно определить координаты относительно самого элемента списка, расчитывать их магией очень сложно, и будет очень криво.
Единственное что пока удалось, так это определить в каком конкретно элементе происходит клик:
void MyListView::mouseClickEvent(QMouseEvent *event)
{
QAbstractItemModel *m(model());
if(m)
QModelIndex index = indexAt(event->pos());
QListView::mouseClickEvent(event);
}