Для начала небольшой код:
class CMainWindow : public QMainWindow
{
private:
	QTableView* tbl;
public:
	CMainWindow();
		
private:
	bool eventFilter(QObject* watched, QEvent* event);
};
CMainWindow::CMainWindow() 
{
	tbl = new QTableView;
	tbl->installEventFilter(this);
	setCentralWidget(tbl);
}
bool CMainWindow::eventFilter(QObject* watched, QEvent* event)
{
	if(watched == tbl)
	{
		if(event->type() == QEvent::MouseButtonPress)
		{
			qDebug("MouseButtonPress");
		}
		
		if(event->type() == QEvent::MouseButtonRelease)
		{
			qDebug("MouseButtonRelease");
		}
		
		if(event->type() == QEvent::MouseButtonDblClick)
		{
			qDebug("MouseButtonDblClick");
		}
	}
	return QMainWindow::eventFilter(watched, event);
}
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    СMainWindow main;
    main.show();
    return app.exec();
}
Так вот, можно сколь угодно долго давить на мышь и щелкать по QTableView, но ни одного из вышеперечисленных событий описанных в eventFilter не поступит! В чем дело?