在GTK中更改HBOX或VBOX的颜色

时间:2013-10-16 04:46:34

标签: c gtk

我知道如何更改GtkButton的颜色背景,其代码如下:

GdkColor color;
color.red = 65535;
color.green = 0;
color.blue = 0;
gtk_widget_modify_bg(button,GTK_STATE_NORMAL,&color);

但是当我将它应用于GtkHBox时,它不起作用。除了GtkButton之外,我不会更改任何Widget的背景颜色。任何人帮助我。

3 个答案:

答案 0 :(得分:1)

问题是 GtkBox 并且它的子类没有绘制背景,所以无论你告诉它背景颜色它,它都不会做任何事情。

如果您想要更改背景颜色,您需要使用gtk_widget_override_background_color

搜索哪个小部件正在绘制背景并更改该背景的颜色

呈现背景的小部件例如:

答案 1 :(得分:0)

我在How to add css style to GtkBox in Gtk+ 3

中回答了这个问题

Bsaically:不要使用gtk_widget_modify_bg_fg函数,请使用GtkStyleProvider

答案 2 :(得分:0)

是的,我有一个答案。我使用EventBox for Draw Background,它确实很有用。我只是为HBox或VBox添加了父级,并为HBox设置了背景,已经完成了!