Theme organization
The theme 'scheme' is organized based on the needs of typical application UI's. As already covered we differenciate between structure, borders and backgrounds, and the theme builds on this simple principle to try and cover most use-cases.
The theme system operates with two groups of styles: ordinary and tool:
- Ordinary styles has to do with widgets living on the client region (the main part of a form or dialog)
- Tool styles is meant for the header and footer, which in most cases will be a toolbar and footer
This idea is reflected in the style names themselves:
Background styles |
Border styles |
QTXDisplayBackground |
QTXBorderNone |
QTXControlBackground |
QTXWidgetBorder |
QTXContainerBackground |
QTXContainerBorder |
QTXEditBackground |
QTXFlatBorder |
QTXListBackground |
QTXButtonBorder |
QTXListItemBackground |
QTXDialogButtonBorder |
QTXListItemSelectedBackground |
QTXEditBorder |
QTXButtonBackground |
QTXListBorder |
QTXDialogButtonBackground |
QTXDecorativeBorder |
QTXDecorativeBackground |
QTXListMenuBorder |
QTXDecorativeBackgroundInvert |
QTXToolWidgetBorder |
QTXDecorativeDarkBackground |
QTXToolWidgetFlatBorder |
QTXToolContainerBackground |
QTXToolContainerBorder |
QTXToolButtonBackground |
QTXToolButtonBorder |
QTXToolWidgetBackground |
In the list of background styles you will notice that the last 3 are prefixed "Tool", and in our default theme these are considerably darker than the vanilla brown used for ordinary widgets. This division of color was inspired by Ubuntu Linux, which has some very good looking UI's. Instead of the traditional orange that Ubuntu operates with - we opted for a warm, dark blue color.
The cool thing about this organization is that all you have to do to create a new theme file, is to change the content of these pre-defined styles. As long as you pick colors that compliment each other, the notion of tool region and content region works well. And you can ofcourse create separate styles that you add to a widget - the default style-sheet just covers the basics so to speak.