我注意到我只能使用“默认”样式更改 gtk2.0 主题按钮的前景色。
我这样做了:
style "default" {
fg[NORMAL] = "#000000"
fg[PRELIGHT] = "#000000"
fg[SELECTED] = "#000000"
fg[INSENSITIVE] = "#000000"
fg[ACTIVE] = "#000000"
}
class "GtkWidget" style "default"
style "button" {
fg[NORMAL] = "#FF0000"
fg[ACTIVE] = "#FF0000"
fg[PRELIGHT] = "#FF0000"
fg[INSENSITIVE] = "#FF0000"
}
widget_class "*GtkText" style "button"
class "GtkButton" style "button"
widget_class "*GtkButton*" style "button"
这 3 项任务是为了测试是否有任何工作,但按钮文本和所有其他文本颜色都是黑色,如何在“默认”样式中定义。
我尝试查看是否可以在其他小部件中更改前景色,结果确实可以。
对于列表视图,我可以更改标题列的前景色(我可以在其中对列表进行排序)
如果我改变fg[正常]在默认样式中“#FF0000”按钮将像预期的那样变成红色,但其他文本也将变成红色,这也是预期的。
谁能告诉我如何仅更改 gtk2.0 按钮的前景色?
编辑 我忘了说,如果我使用像素图引擎更改背景图像,背景图像就会出现,因此“样式指定”可以正常工作,但 fg 颜色不会被覆盖。
编辑 为您提供更多信息:
我已经安装了最新的 gtk3 和 gtk2 库/引擎(apt-get upgrade)
我还尝试了(除了 gtk2.0 主题设置)css 选择器的 gtk3.0 设置:
button,
GtkButton,
button.default,
GtkButton.default,
button *,
GtkButton *
button.default *,
GtkButton.default *,
{
color: #FF0000;
}
button:hover,
GtkButton:hover,
button:hover *,
GtkButton:hover *,
button.default:hover,
GtkButton.default:hover,
button.default:hover *,
GtkButton.default:hover *
{
color: #FF0000;
}
button:active,
GtkButton:active,
button:active *,
GtkButton:active *,
button.default:active,
GtkButton.default:active,
button.default:active *,
GtkButton.default:active *
{
color: #FF0000;
}
button:hover:active,
GtkButton:hover:active,
button:hover:active *,
GtkButton:hover:active *,
button.default:hover:active,
GtkButton.default:hover:active,
button.default:hover:active *,
GtkButton.default:hover:active *
{
color: #FF0000;
}
这也没有任何效果。
我的系统是
- Ubuntu 12.04
- Gnome3经典模式和效果
- 窗口管理器:翡翠色
答案1
那么您可能需要使用 GTK3 主题。
许多应用程序不再支持 GTK2。大多数主题都使用 GTk3 和 2 版本编译,以支持较新和较旧的应用程序