c++ - 修改小部件 C++ GTK 的 css
问题描述
我正在尝试编辑树视图模型(列表存储)的 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;
}
解决方案
但是,如果我尝试引用树视图的名称,它就不起作用(没有错误或警告):
您需要的名称不是变量名称。要为 CSS 样式命名,您可以通过调用来设置它
void Gtk::Widget::set_name ( const Glib::ustring & name )
推荐阅读
- vue.js - Vue.js deep watching of computed property using other computed property objects
- c# - Simple Injector. How to reuse a decorator class more than once in object's decorator chain using Scoped lifestyle
- amazon-web-services - 使用 terraform 在 ec2 实例中每小时配置一次 shell 脚本执行
- asp.net - 使用 Secret Manager 工具配置测试帐户以设置密码
- python - 使用 Python 从 ELF 中提取汇编代码
- excel - 数组元素移位
- javascript - 使用js将令牌值添加到html表单
- python - indexError out of range 时不应该有
- android - Android:避免儿童背景覆盖父母在xml中的背景
- postgresql - 创建函数时PostgreSQL INSERT INTO语法错误