С фокусом Вы заблудились в 3 соснах - поставили его не на сам OGLWidget а на виджет в который он вставлен
. Ну и я подправил по мелочам (attachment), но, конечно, там еще пахать и пахать
точно в трех соснах запутался ... блин ...
А вот то что часть кода оказалась в блоке namespace { .... }, что это означает ...