Gtk3 textview 文本颜色与字体

Gtk3 textview text color vs font

当我使用 gtk_css_provider_new 创建一个 CSS 提供程序并使用 gtk_css_provider_load_from_data 加载它时,给它 "textview { color: red; font: 30px serif; }" 作为数据,并将它应用到 gtk_text_view 通过使用 gtk_style_context_add_provider,结果是它将字体大小更改为 30,但将文本颜色保留为黑色。我需要做什么才能更改文本颜色?

它改变了字体大小表明 CSS 确实有效。它没有改变颜色表明它只是部分起作用。是否需要做一些特别的事情来改变文本颜色?与更改字体大小的内容不同?

如果我使用 gdk_rgba_to_string 显示 rgba,它将显示为 "rgb(255,0,0)",这表明样式上下文实际上具有红色。所以唯一的问题是为什么当 30px 衬线用作实际字体时红色不用作实际文本颜色。

要更改文本的颜色,您必须 select CSS 中 TextView 的文本部分...它会像这样

textview text {
color : #4fc3f7;
}

这会将文本颜色更改为 blue.You 如果你想修改更多..

另一种方法是使用 (gtk_text_buffer_create_tag https://developer.gnome.org/gtk3/stable/GtkTextView.html) 并使用 (gtk_text_buffer_insert_with_tags_by_name)

添加文本