but if there was a pointer to the painter available, one could read it through that object and use it.
That is the point I don't get.
Lets say I have a pointer to the openGL QPainter, in a helper object or some other place.
How can I give it to a regular QWidget subclass (not a user subclass,but like QPushButton) in order that it will use it for drawing it self...

That is the main problem I am trying to solve (if it can be solved).

Thanks for helping out with the brainstorming!