I added the user_to_device and device_to_user methods to the OpenGL painter
I lost a lot of time with a bug making the coordinates rendering not at the correct place. The QOpenGLWidget is incompatible with QMdiChild, and this was resolved by using QOpenGLWindow and QWidget::createWindowContainer()