2016-08-12 32 views
0

我试图用vala覆盖gtk按钮的背景颜色,但它不适用于某些主题。所以,这个代码Gtk Button override_background_color不适用于某些主题

var b = new Button(); 
b.label = "test"; 
b.margin = 10; 
b.override_background_color (Gtk.StateFlags.NORMAL, color (yellow)); 

看起来像这样的:

空间Adapta(我想)

Adapta

阿德维塔

Adwaita

氛围

Ambiance

那么我错过了什么?

回答

2

gtk_widget_override_background_color()已弃用,因此不再使用。使用CSS代替:

var css = "* { background: #FFFF00; }"; 
var p = new Gtk.CssProvider(); 
try { 
    p.load_from_data(css, css.length); 
    b.get_style_context().add_provider(p, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION); 
} catch (GLib.Error err) { 
    // handle err 
} 
相关问题