css - 在 C 代码中更改 GtkToggleToolButton 的文本颜色 (GTK+3)

标签 css c gtk

最近我找到了使用 CSS 表 (Gtk 3.20) 更改 GtkToggleToolButton 文本颜色的方法:

#histoToolGreen label {
    color: green;
}

#histoToolBlue label {
    color: blue;
}

为此,我更改了标签的颜色而不是按钮的颜色。它运作良好。但现在我想在 C 代码中做同样的事情。所以我写:

gtk_css_provider_load_from_data(provider, "#histoToolRed label {color: red;}", -1, NULL);
gtk_style_context_add_provider(
            gtk_widget_get_style_context(lookup_widget("histoToolRed")),
            GTK_STYLE_PROVIDER(provider),
            GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);

但这行不通。我也试过了,没有成功:

gtk_css_provider_load_from_data(provider, "* {color: red;}", -1, NULL);

还有很多其他的东西。

谁能告诉我如何使用 CSS 提供程序在 C 代码中更改 GtkToggleToolButton 文本的颜色?

最佳答案

我尝试在小部件级别添加 CSS 样式时没有取得任何进展。我只设法通过在应用程序级别添加样式表来让它工作 gtk_css_provider_get_default .

当我做与您所做的类似的事情时,我期望的是样式将应用于我附加到它的小部件及其所有子部件。我发现该样式仅适用于将提供程序添加到其中的单个小部件。

关于css - 在 C 代码中更改 GtkToggleToolButton 的文本颜色 (GTK+3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37250497/

相关文章:

c - Valgrind 错误结构

c - gtk-vim-语法与 Janus

c++ - WebKit2GTK+ "page-created"扩展只能工作一次

gtk - 使用 glib.string.escape() 时如何转义特殊字符

c - 套接字无法接受客户端?

javascript - 第二次点击时jquery反转动画

CSS溢出滚动自动

javascript - TranslateZ 百分比 CSS 3D 变换

css - 100vh 窗口高度小时截断内容

c - 在c中输入算术语句并返回值