Это мой код:
int main(int argc, char *argv[] ) {
gtk_init(&argc, &argv);
GtkWidget *window;
GtkButton *button;
gtk_rc_parse("style.rc");
window = gtk_dialog_new();
gtk_widget_set_name(window, "window");
g_signal_connect(window, "destroy", G_CALLBACK (destroy), NULL);
gtk_window_fullscreen(GTK_WINDOW(window));
button = GTK_BUTTON(gtk_button_new_with_label ("Quit"));
gtk_widget_set_name(GTK_WIDGET(button), "button");
g_signal_connect_swapped (GTK_WIDGET(button), "clicked", G_CALLBACK (gtk_widget_destroy), window);
gtk_widget_set_can_default (GTK_WIDGET(button), TRUE);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG(window)->vbox), GTK_WIDGET(button), FALSE, FALSE, 0);
gtk_widget_grab_default (GTK_WIDGET(button));
gtk_widget_show (GTK_WIDGET(button));
gtk_widget_show (window);
gtk_main();
}
И это мой стиль. Rc:
style "button"{
fg[PRELIGHT] = { 0, 1.0, 1.0 }
bg[PRELIGHT] = { 0, 0, 1.0 }
bg[ACTIVE] = { 1.0, 0, 0 }
fg[ACTIVE] = { 0, 1.0, 0 }
bg[NORMAL] = { 1.0, 1.0, 0 }
fg[NORMAL] = { .99, 0, .99 }
bg[INSENSITIVE] = { 1.0, 1.0, 1.0 }
fg[INSENSITIVE] = { 1.0, 0, 1.0 }
}
widget "*GtkButton" style "button"
Но моя кнопка выглядит совершенно стандартно. Я неправильно использую файл rc? Он скопирован из официального руководства GTK.
Кроме того, нет ошибок, если я ввожу случайное имя вместо style.rc, поэтому я не знаю, регистрируется ли оно вообще.
Задача ещё не решена.
Других решений пока нет …