如何添加CSS到主题GTK

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

我一直有问题,添加更多的CSS一个已经存在的主题,无论我把CSS大部分似乎不适用,有什么办法来优先考虑我的部分的CSS?

当我改变已经存在的CSS,而不是添加新的CSS时,是正确应用......

当把CSS放入调试器时,CSS也能正常应用。

作为一个例子,我添加了这个。

.titlebar {
    background-color:rgb(255,255,255);
    border:none;
    box-shadow:none;
}

在我的一个主题的底部,但它从来没有适用... ... 如果他们没有我添加的属性,有些东西确实适用。

比方说,我给一个通常没有边框的按钮添加了一个边框,那么它就可以工作了,但是我不能改变它的背景颜色,因为它已经有了一个边框...... 我如何规避overwrite这个问题?

linux gtk themes gtk3
1个回答
0
投票

我怀疑你是想改变你一个程序的(部分)外观?我建议你在你的程序中本地添加CSS。我曾经试验过一点主题,和你一样,没有得到满意的结果。

后来想想,我觉得 "本地 "改CSS似乎是合理的,因为可以避免更新的冲突.... 而且如果有人用你的代码在其他主题上使用,可能还能用。

style_provider = Gtk.CssProvider()
base_dir = os.path.abspath(os.path.dirname(__file__))
css_path = os.path.join(base_dir, 'input_paste.css')
style_provider.load_from_file(Gio.File.new_for_path("test_css_provider.css"))
Gtk.StyleContext.add_provider_for_screen(
    Gdk.Screen.get_default(),
    style_provider,
    Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION
)

而CSS文件 test_css_provider.css 由前一个代码片段加载。

#entry {
    border: 1px solid;
    padding: 10px 10px;
    border-radius: 10px;
    color: #D3DAE3;
    background-image: linear-gradient(to bottom, rgba(30, 60, 200, 0.5));
}

我不是一个CSS专家,一般不喜欢改变程序的外观,因为这是一个非常棘手的领域(口味和颜色)。

© www.soinside.com 2019 - 2024. All rights reserved.