【问题标题】:Change text color for GtkToggleToolButton with CSS sheet (GTK+3)使用 CSS 表 (GTK+3) 更改 GtkToggleToolButton 的文本颜色
【发布时间】:2016-05-11 07:38:30
【问题描述】:

我正在尝试使用 CSS 表来更改我的 GTK/C 应用程序的属性。在一个对话框中,我有一个带有 GtkToggleToolButtons 的 GtkToolBar。我希望这些按钮的文字颜色不同。

我曾经在 CSS 表单中写过类似的东西:

#histoToolGreen {
  color: green;
}

#histoToolBlue {
  color: blue;
}

并且它与 GTK 3.20 一起使用(但仅在按钮关闭时)。但是现在,随着 gtk update,它不再工作了。 按钮的名称是 histoToolGreen 和 histoToolBlue。

您能告诉我如何使用 CSS 表单更改 GtkToggleToolButton 的颜色吗?

【问题讨论】:

  • 当前版本为3.20;你是跑步大师吗?话虽如此,这绝对很奇怪。我不会自己尝试的......
  • 我在 debian 测试存储库中使用版本:tracker.debian.org/pkg/gtk+3.0
  • 为了澄清,你是如何定义按钮名称的?在带有gtk_widget_set_name() 的代码中?在带有g_object_set("name") 的代码中?在 .ui 文件中?我问是因为我可以确认这一点,但其他人不能...
  • 这是在 .glade 文件中。我已将 ID 和小部件名称设置为 histotoolBlue 和 Green

标签: css c button colors gtk


【解决方案1】:

您可以尝试更改标签的颜色而不是按钮的颜色。按钮实际上只是可点击的垃圾箱。带有文本的按钮只是一个有用的构造函数,它会自动添加标签。

#histoToolGreen label {
  color: green;
}

#histoToolBlue label {
  color: blue;
}

【讨论】:

  • 哦,谢谢你的提示,但你应该编辑你的消息。正确的代码是:#histoToolGreen label { color: green; }
  • 已更新。我认为我使用的格式在较新版本的 GTK 中已被弃用。
  • 非常感谢。我有最后一个问题。如果我尝试在 C 中执行此操作,则它不起作用。任何想法:gtk_css_provider_load_from_data(provider, "#histoToolRed label {color: red}" 甚至 gtk_css_provider_load_from_data(provider, "* {color: yellow}"?
  • 我看不出你提供了什么。如果您将其充实为一个完整的单独问题,我会再看一下。
  • 你认为这与问另一个问题有关吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多