Gtk Button override_background_color不适用于某些主题

时间:2016-08-12 15:43:10

标签: gtk themes vala

我正在尝试使用vala覆盖gtk按钮的背景颜色,但它不适用于某些主题。所以,这段代码

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

看起来像这样:

Adapta(我想要的)

Adapta

阿德维塔

Adwaita

气氛

Ambiance

那我在那里错过了什么?

1 个答案:

答案 0 :(得分:3)

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
}