2016-11-29 10 views
1

私はGTK + 3(C言語を使用しています)を使って戦艦ゲームを作成しています。それらの色に。私は既に配列の背景色を変更しています。今、ボタン自体の色を変更したいと思います。私は、gtk_widget_override_color()関数を使用しようとしているが、私のコードで動作しないように見えます。 一見して、他の機能を提案してもらえますか?私が使用している コードがダウンここにある:Gtk + 3(C言語)を使ってGtkButtonの色を定義するには

for(i=0;i<(x[0].n*x[0].n);i++){ 
    gtk_widget_modify_bg(GTK_WIDGET(buttons[i]),GTK_STATE_NORMAL,&color); 
    gtk_widget_override_color(GTK_WIDGET(buttons[i]),GTK_STATE_NORMAL,&color2); 
} 

カラー変数はGdkColor型であり、そしてそれはgdk_color_parse()で定義された、カラー2は、タイプstruct GdkRGBAでありながら、それが定義されています

color2.alpha = 0.8; 
color2.blue = 0.819; 
color2.red = 0; 
color2.green = 0.807; 

答えて

1

この場合、CSSを使用する必要があります。次のようなものがあります:

GtkCssProvider *provider = gtk_css_provider_new(); 
gtk_css_provider_load_from_data (provider, 
    "button { color: #123456; background-color: blue; }", -1, &error); 
gtk_style_context_add_provider_for_screen (gdk_screen_get_default(), 
    provider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); 

これは、すべてのボタンに、提供されている前景色と背景色を与えます。

関連する問題