2017-03-15 19 views
1

我想用css提供程序在背景的GtkBox pu图像和标签文本样式,但没有任何反应。我尝试了很多不同的方式。Gtk + 3的Css提供程序不工作

这里是我的custom.css:

GtkBox#Home_PrincipalScreen_table{ 
    background-image: url("background.png"); 
} 

GtkLabel#Home_Cooling_Tunnel1_Cooler_label1{ 
    color: white; 
} 

GtkLabel#label_Avg_Temp_value{ 
    color: red; 
    font-family: Segoe UI; 
    font-size: 25px; 
} 
GtkButton{color: blue; 
    font-size: 25px 
} 

这里是我的.c文件:

GFile *file= g_file_new_for_path("custom.css"); 
    GtkCssProvider *css_provider = gtk_css_provider_new(); 
    if(!gtk_css_provider_load_from_file(css_provider, file, &error)) 
    { 
     g_warning("%s", error->message); 
     g_free(error); 
     return(1); 
    } 
    gtk_style_context_add_provider_for_screen(gdk_screen_get_default(), css_provider, GTK_STYLE_PROVIDER_PRIORITY_USER); 

UPDATE:

小工具改变它的礼仪一样的GtkButton的例子,但具体部件像Home_PrincipalScreen_table一样不会更改。

我的代码有什么问题?

回答

1

问题是我没有在glade中定义小部件名称。 Css提供者不是由ID定义的,而是由小部件名称定义的。 因此,我将GtkBox#Home_PrincipalScreen_table更改为#Background并将窗口小部件名称定义为Background,并将其作为...