Comment # 11 on bug 1162241 from
Both those styles seem to be using this code:

https://github.com/qt/qtstyleplugins/blob/master/src/plugins/styles/gtk2/qgtkstyle.cpp#L2790

  GdkColor gdkText = gtk_widget_get_style(gtkRadioButton)->fg[labelState];
  QColor textColor = QColor(gdkText.red>>8, gdkText.green>>8, gdkText.blue>>8);
  pal.setBrush(QPalette::WindowText, textColor);
  subopt.palette = pal;
  proxy()->drawControl(isRadio ? CE_RadioButtonLabel : CE_CheckBoxLabel, 
                       &subopt, painter, widget);


I.e. the function that draws those widgets in those widget styles simply
ignores whatever color the application set before. It just always builds its
own color palette.

It also uses real Gtk functions to do the actual drawing; it doesn't just
emulate it, it uses the real thing.

So this just does its own thing regardless of what the calling application
wants it to do. Overriding the paint event to set the color before calling this
style paint function would also not change anything; it always explicitly uses
the default colors.


This seems to be intentional by this widget style. IMHO this is still broken,
but it's broken intentionally from upstream.


You are receiving this mail because: