【问题标题】:Can't set CSS to specified widget in GTK+无法在 GTK+ 中将 CSS 设置为指定的小部件
【发布时间】:2014-05-18 12:53:11
【问题描述】:

我正在使用带有 GTK+ 的 Vala,现在我正在尝试将自定义 CSS 添加到指定的小部件。 我可以加fe。背景为 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 的颜色,但不是这个标签。

有什么想法吗?

【问题讨论】:

    标签: gtk gtk3 vala


    【解决方案1】:

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

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

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

       .mysidebar {
           #anything
       }
    

    【讨论】:

    • sidebar.get_style_context().add_class("desidebar"); 工作得很好。我以前试过这个,但我使用了“侧边栏”类名,但没有用。现在可以了 :) 谢谢。
    猜你喜欢
    • 1970-01-01
    • 2020-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多