[Interest] some doubts about current graphics stack in Qt 5.1

Till Oliver Knoll till.oliver.knoll at gmail.com
Mon Dec 9 22:30:21 CET 2013


Am 09.12.2013 um 11:13 schrieb "pritam.ghanghas at gmail.com" <pritam.ghanghas at gmail.com>:

> ...
> Within Qt 
> QtWIdgets use QPainter, which can use raster, native or opengl backends. Most of the time it will be raster. But if one is using QGLWidget or sets a QGLWidget as viewport. QPainter will switch to opengl. There are non programmatic ways as well to make OpenGl default.

Just for the (historical) record: in Qt 4.x there /is/ a way to programatically set the default painter, even an OpenGL based one for "plain QWidgets" (ie non- QGLWidget based ones).

The actual API call escapes me currently, but it was either some static method call in QPaintEngine before instantiating QApplication, or a flag in the c'tor of QApplication or the like.

One can even pass the "default paint engine" as runtime parameter, like -paintengine=[raster|native|opengl] (again refer to google for the actual syntax).

The results with an OpenGL painter - at least on Mac OS X - were... well... "surprising", so say the best ;)

I think the entire concept of a "paint engine" in Qt 5 is gone (and has probably conceptionally been replaced by the QPA architecture or so). And as Thiago said there is apparently no "native painting" anymore (well, eventually there is, I guess, when the "finished pixmap needs to be rendered on the screen").

Cheers,
  Oliver


More information about the Interest mailing list