А причём тут 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();
}