如何禁用标签中的白色阴影?

时间:2014-06-26 04:52:01

标签: macos mono gtk gtk#

我有一个标签,我想为其设置前景色。但是,还有一个白色阴影/轮廓:

Example

我将前景设置为一种颜色(蓝色):

// This is GTK# in MonoDevelop on Mac OS X
var fg = new Gdk.Color ();
Gdk.Color.Parse ("#0000ff", ref fg);

lbl.ModifyFg (StateType.Normal, fg);
lbl.ModifyFg (StateType.Active, fg);
lbl.ModifyFg (StateType.Prelight, fg);

但我似乎无法找到Shadow / Outline的选项。

有谁知道我缺少哪种设置? (在C / C ++中对GTK +的答案也没关系,我只需要知道我实际上在寻找什么)

1 个答案:

答案 0 :(得分:0)

如果您正在使用GTK + 3(如您所愿),可以使用以下CSS片段禁用每个GtkLabel上的文本阴影:

GtkLabel {
    text-shadow: none;
}

可以将CSS放在主GTK + 3文件中(通常为$XDG_CONFIG_HOME/gtk-3.0/gtk.css)以影响所有应用程序,或者可以使用以下(未经测试的)C代码中的某些内容从应用程序动态加载CSS :

const gchar *css = "...your custom CSS here...";
GtkCssProvider *provider = gtk_css_provider_new();
if (gtk_css_provider_load_from_data(provider, css, -1, NULL)) {
    GdkScreen *screen = gdk_screen_get_default();
    gtk_style_context_add_provider_for_screen(screen, provider,
                                              GTK_STYLE_PROVIDER_PRIORITY_USER);
}
g_object_unref(provider);