2017-03-15 16 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,並將其作爲...