А причём тут QMainWindow 

Открываешь в ассистенте описание QCoreApplication и видишь что последний является базовым для QApplication.
Далее просто перегружаешь QApplication::notify():
C++ (Qt)
class MyApplication : public QApplication
{
public:
	MyApplication( int& argc, char** argv )
	: QApplication( argc, argv ) {}
	bool notify( QObject* o, QEvent* e )
	{
		if( e->type() == QEvent::MouseMove )
		{
			QMouseEvent* me = static_cast< QMouseEvent* >( e );
			// ...
		}
		return QApplication::notify( o, e );
	}
};
 
int main( int argc, char** argv )
{
	MyApplication app( argc, argv );
 
	...
 
	return app.exec();
}