2017-03-15 3 views
1

Ich versuche zu pu Bild im Hintergrund der GtkBox mit CSS-Provider, und Label-Text-Stil, aber nichts passiert. Ich habe es mit so vielen verschiedenen Wegen versucht.Gtk + 3 Css Anbieter funktioniert nicht

Hier ist meine 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 
} 

Und hier ist meine C-Datei:

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:

Widgets es Anstands wie zB GtkButton ändern, aber spezifische Widget wie Home_PrincipalScreen_table nicht ändern.

Was ist falsch an meinem Code?

Antwort

1

Das Problem ist, dass ich in Widget nicht den Widget-Namen definieren. Der Css-Provider wird nicht durch die ID, sondern durch den Namen des Widgets definiert. So änderte ich GtkBox#Home_PrincipalScreen_table zu #Background und definiere den Widgetnamen als Background und funktioniert ...