无法在GTK +中将CSS设置为指定的小部件

时间:2014-05-18 12:53:12

标签: gtk gtk3 vala

我正在使用Vala和GTK +,现在我正在尝试将自定义CSS添加到指定的小部件。 我可以添加fe。 backgroudn到GtkWidget但不是#sidebar

#sidebar { //It doesn't work                                                           
    color: white;                                                                
}                                                                       

GtkWindow {  // It works                                                                    
    background-color: red;                                                                        
}   

我正在将小部件添加到小部件中:

sidebar = new Gtk.Label("Hello");
sidebar.set_name("sidebar");

它改变了GtkWindow的颜色,但不是这个标签。

有什么想法吗?

1 个答案:

答案 0 :(得分:5)

我没有在Vala中编程,但是你应该在StyleContext中添加类。 这是在C

   sidebar = gtk_label_new ("Hello');
   gtk_style_context_add_class ( gtk_widget_get_style_context ("mysidebar"), sidebar);

此外,样式“侧边栏”已在GtkStyle中定义。您应该将CSS中的“侧边栏”更改为其他内容(侧边栏由视图,工具栏等使用) 但如果你坚持,语法应该是:

   .mysidebar {
       #anything
   }