GTK+ 1.2

GTK+ 1.2

我正在尝试使用覆盖背景颜色在一些 GTK3 小部件上,但它们仍然显示默认背景颜色。

答案1

GTK+ 1.2

  GtkRcStyle *rc_style;
  GdkColor color;

  color.red = 65535;
  color.green = 0;
  color.blue = 0;

  rc_style = gtk_rc_style_new();

  rc_style->bg[GTK_STATE_NORMAL] = color;

  rc_style->color_flags[GTK_STATE_NORMAL] |= GTK_RC_BG;

  gtk_widget_modify_style (widget, rc_style);

  gtk_rc_style_unref (rc_style);

GTK+ 2.24

使用GDK 库

GtkWidget *widget; //your widget

  GdkColor color; 

  gdk_color_parse ("red", &color); //setting a color - you can also use RGB

  gtk_widget_modify_bg(widget, GTK_STATE_NORMAL, &color); //modifying the background color of the widget

关于 GdkColor 的完整参考资料可以在以下网址找到GNOME 的开发文档

GTK 3.0

对于 gtk+3,您可以使用 gtk_css_provider()。完整的教程和示例可以在GTK+ 论坛

相关内容