【发布时间】:2021-05-25 14:39:47
【问题描述】:
问题
这是我的 gtk3 应用目前在 Ubuntu 20.04 上的样子:
左侧的树视图的背景颜色比其他的稍微亮一些。我通过以下方式创建了树视图:
tree_view = gtk_tree_view_new();
gtk_widget_set_margin_bottom(tree_view, 12);
gtk_widget_set_margin_top(tree_view, 12);
gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(tree_view), FALSE);
我的所有其他小部件都是通过修改任何样式来创建的。
期望的行为
我希望所有明亮的背景相互匹配。我不介意它们都变成更亮的白色还是更深的白色。一个例子是gtk3-demo,所有的背景都变成了更亮的白色,就像在树视图中一样:
(它的堆栈头仍然是深白色,但我不介意,只要主要区域匹配即可。)
尝试的解决方案
用 CSS 设置它并使其匹配是很诱人的。但我意识到这些背景可以随着不同的主题而改变。我仍然希望我的应用能够响应主题更改。也就是说,如果用户使用深色主题,我仍然希望我的应用变暗(相同的深色)。
有没有办法做到这一点?谢谢!
编辑:
我注意到gtk3-demo 具有明亮的背景颜色,因为它使用了GtkNotebook。我试过了,但是GtkNotebook 只在启用了它的标签时才给出浅色,这是我不想要的。一旦禁用show-tabs,它的背景就会恢复为深白色。
【问题讨论】: