【发布时间】:2009-11-20 13:54:18
【问题描述】:
如何更改 GtkTextView 的背景颜色?我尝试使用普通的小部件设置 bg 功能,但 gtk 只是改变了 GtkText 视图的边框颜色。
另外,有些人可以用简单的例子解释一下,如何更改 GtkTextView 中的文本颜色/字体/文本大小(GtkTextView 中的整个文本)?
我喜欢一些例子,但它们不起作用..
感谢, PP。
【问题讨论】:
标签: gtk
如何更改 GtkTextView 的背景颜色?我尝试使用普通的小部件设置 bg 功能,但 gtk 只是改变了 GtkText 视图的边框颜色。
另外,有些人可以用简单的例子解释一下,如何更改 GtkTextView 中的文本颜色/字体/文本大小(GtkTextView 中的整个文本)?
我喜欢一些例子,但它们不起作用..
感谢, PP。
【问题讨论】:
标签: gtk
gtk_widget_override_background_color()
这是 GTK 3.x+ 的方式(直到 GTK 3.16)。来自
https://developer.gnome.org/gtk3/unstable/GtkWidget.html#gtk-widget-modify-base
“gtk_widget_modify_base 自 3.0 版以来已被弃用,不应在新编写的代码中使用。请改用 gtk_widget_override_background_color()”
更新:thegtknerd 指出,这种方法现在也已被弃用,自 3.16 以来一直存在。
【讨论】:
gtk_widget_modify_base()
http://library.gnome.org/devel/gtk/unstable/GtkWidget.html#gtk-widget-modify-base
【讨论】:
从 gtk3 开始,我相信正确的方法是通过 CSS。注册一个gtk样式表though GtkCssProvider,然后就可以写这个CSS了:
textview text {
background-color: @theme_bg_color;
}
我们可以在 GtkTextView 的文档中看到相关的 CSS 节点。在这种情况下,我输入了@theme_bg_color,即an adwaita CSS variable,但您也可以将任何内容放入通常的CSS文件中,例如red或#ff0000。
【讨论】: