C 如何更改Gtk2条目中的字段背景色?

C 如何更改Gtk2条目中的字段背景色?,c,colors,gtk,C,Colors,Gtk,在Win7上使用代码::Blocks的C语言中的GTK+v2 我正在使用“insert_text”信号回调条目小部件 在回调函数中,如何更改输入字段的背景颜色 我认为这与更改小部件的颜色不同 我的代码: 回调 static void VerifyDOW (GtkEntry *entry, const gchar *text, gint length,

在Win7上使用代码::Blocks的C语言中的GTK+v2

我正在使用“insert_text”信号回调条目小部件

在回调函数中,如何更改输入字段的背景颜色

我认为这与更改小部件的颜色不同

我的代码:

回调

static void VerifyDOW (GtkEntry    *entry,
                          const gchar *text,
                          gint         length,
                          gint        *position,
                          gpointer     data)
{
GtkEditable *editable = GTK_EDITABLE(entry);
const gchar *result = gtk_editable_get_chars (editable, 0, -1); // = g_new (gchar, length);
int i, count = strlen(result);

    for (i=0; i < count; i++) {
        if ((! isdigit(result[i])) & (result[i] != ',')) {
            i = count;
            g_signal_handlers_block_by_func (G_OBJECT (editable), G_CALLBACK (VerifyDOW), data);

            /* CHANGE FIELD, NOT WIDGET, COLOR HERE */

            g_signal_handlers_unblock_by_func (G_OBJECT (editable), G_CALLBACK (VerifyDOW), data);
        }
    }
    g_signal_stop_emission_by_name (G_OBJECT (editable), "insert_text");
    g_free (result);
}

谢谢你,马克。

试试gtk\u widget\u modify\u base:

GdkColor color = {0, 255<<8, 220<<8, 220<<8};
gtk_widget_modify_base(GTK_WIDGET(entry), GTK_STATE_NORMAL, &color);

GdkColor color={0255试试gtk_小部件_modify_base:

GdkColor color = {0, 255<<8, 220<<8, 220<<8};
gtk_widget_modify_base(GTK_WIDGET(entry), GTK_STATE_NORMAL, &color);
GdkColor color={0255