2008-12-29

Environmentally Friendly

The Qt painting system uses four quite interesting environment variables: QT_FLUSH_PAINT, QT_FLUSH_PAINT_EVENT, QT_FLUSH_UPDATE and QT_FLUSH_WINDOWSURFACE. The purpose of each of these four is to initialize painting surfaces with a yellow colour before painting. See Aaron's blog on this for an example.

The input method module, qmultiinputcontext.cpp, uses the QT_IM_MODULE and QT4_IM_MODULE variables to pick an appropriate module.

If you have a debug version of Qt, QT_LAYOUT_DEBUG adds additional warning messages indicating if you place your widgets in strange layouts (wrong parent or layout).

If you want to skip Qt's double buffering (the backing store) you can use the QT_ONSCREEN_PAINT variable to force all the painting to be made directly to the screen.

The QT_PLUGIN_PATH environment variable can be used to control where Qt looks for plugins.

Using the QT_STYLE_NO_PIXMAPCACHEenvironment variable, you can make the Plastique style not use the QPixmapCache.

The WebKit module listens to the QT_WEBKIT_LOG and QTWEBKIT_PLUGIN_PATH variables. These two control which logging channels to use and where to look for plugins.

This concludes this afternoons grepping. I will continue with TMPDIR before reaching the Qt for Embedded Linux source.