Qt stylesheets and QPalette
written on Tuesday, January 15, 2008
Whenever I wanted to use standard colors from QPalette within my Qt stylesheet definitions, I used to write code like this:
QColor color = palette().highlight().color();
QString css = QString("QLabel { color: %1; }").arg(color.name());
setStyleSheet(css);
Today I discovered an hidden feature of Qt stylesheets (either that, or I missed it in the doc): you can reference QPalette colors from within Qt stylesheet definitions! The above code can be rewritten like this:
QString css = "QLabel { color: palette(highlight); }";
setStyleSheet(css);
Isn't it great?
Update: Just found the documentation for this feature.