Customized Look
Qt supports the native look-and-feel of all the platforms it runs on. Windows XP applications look exactly like an XP app should look; the same for Vista, Mac OS X, Linux, UNIX, and CE. For CE, Qt supports both the look of Windows Mobile applications, and the more traditional looking Windows CE apps. However, sometimes it is important to look different, especially for embedded devices where the look-and-feel is part of defining the platform you are creating. Qt has several ways of helping you create a custom look-and-feel for your applications.
For instance, Qt has the ability to style a widget or complete application by using style sheets. Qt Style Sheets let you customize the appearance of widgets. The concepts, terminology, and syntax of Qt Style Sheets are heavily inspired by HTML Cascading Style Sheets (CSS), but adapted to the world of widgets.
In Image Viewer, I use this code to turn on/off customization of the application:
void toggleStyleSheet() { QFile file(":/qss/stylesheet.qss"); file.open(QFile::ReadOnly); qApp->setStyleSheet (qApp->styleSheet().isEmpty() ? QLatin1String(file.readAll()) : QString()); }
By filling the stylesheet.qss file with styling rules like this:
QWidget { backgroundcolor:beige; } QGroupBox { bordercolor: darkkhaki; font: bold; } QLabel { font: bold; }
you get a different look than the normal one. Figures 3(a) and 3(b) show a noticeable difference.