Widget.overrideColor

void overrideColor(gtk.types.StateFlags state, gdk.rgba.RGBA color)

Sets the color to use for a widget.

All other style values are left untouched.

This function does not act recursively. Setting the color of a container does not affect its children. Note that some widgets that you may not think of as containers, for instance #GtkButtons, are actually containers.

This API is mostly meant as a quick way for applications to change a widget appearance. If you are developing a widgets library and intend this change to be themeable, it is better done by setting meaningful CSS classes in your widget/container implementation through [gtk.style_context.StyleContext.addClass].

This way, your widget library can install a #GtkCssProvider with the [gtk.types.STYLE_PROVIDER_PRIORITY_FALLBACK] priority in order to provide a default styling for those widgets that need so, and this theming may fully overridden by the user’s theme.

Note that for complex widgets this may bring in undesired results (such as uniform background color everywhere), in these cases it is better to fully style such widgets through a #GtkCssProvider with the [gtk.types.STYLE_PROVIDER_PRIORITY_APPLICATION] priority.

Parameters

statethe state for which to set the color
colorthe color to assign, or null to undo the effect of previous calls to [gtk.widget.Widget.overrideColor]

Deprecated

Use a custom style provider and style classes instead