修改小部件C ++ GTK的CSS

问题描述 投票:0回答:1

我正在尝试编辑树视图模型(列表存储)的css,我已经使用此代码进行了所有设置,并且效果很好:

auto css_provider = Gtk::CssProvider::create();
css_provider->load_from_path("style.css");

Gtk::StyleContext::add_provider_for_screen
                    (Gdk::Screen::get_default(), css_provider, 
                    GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);

此代码已成功加载到css文件中,并且我可以更改树视图的某些属性,经过测试的填充,并且效果很好,它将填充应用于列表存储中的每一行:

treeview.view {
    padding: 20px;
}

treeview * {
    margin: 10px;
}

但是如果我尝试引用树视图的名称,则它不起作用(没有错误或警告):

#m_TreeView {           /* or m_TreeView.view */
    padding: 20px;
}

我的主要目标是在每行之间应用边距,但这似乎也不起作用(没有错误或警告),我想对每行应用边距,但是在引用树视图的特定名称时在我的应用程序中将有多个树视图:

treeview.view {
    margin: 20px;
}

[试图访问行并尝试访问列表存储子项(*):

treeview row {
    margin: 10px;
}

+

liststore * {
    margin: 10px;
}
c++ gtk gtkmm
1个回答
0
投票

但是如果我尝试引用树视图的名称,则它不起作用(没有错误或警告):

您需要的名称不是变量名称。要给CSS样式命名,可以通过调用

进行设置
void Gtk::Widget::set_name  (   const Glib::ustring &   name    )   
© www.soinside.com 2019 - 2024. All rights reserved.