В диалоге GTK у меня есть GtkLabel, обернутый в GtkEventBox, чтобы он мог получать события щелчка (для получения дополнительной информации перейдите на веб-страницу). Функционально прекрасно работает.
Однако, когда я добавляю метку в поле событий, фон метки перестает быть прозрачным - метка теперь имеет цвет фона окна по умолчанию. Это не работает для меня, так как окно, которое я рисую, имеет фоновое растровое изображение, а отсутствие прозрачности делает его глупым.
Что мне нужно сделать, чтобы фон GtkLabel оставался прозрачным при добавлении в GtkEventBox?
GdkColor color;
gdk_color_parse("blue", &color);
GtkStyle* linkstyle = gtk_style_new();
linkstyle->fg[GTK_STATE_NORMAL] = color;
GtkWidget* learnmorebox = gtk_event_box_new();
GtkWidget* learnmore = gtk_label_new("More Info");
gtk_widget_set_style(GTK_WIDGET(learnmore), GTK_STYLE(linkstyle));
gtk_container_add(GTK_CONTAINER(learnmorebox), learnmore);
gtk_widget_set_events(learnmorebox, GDK_BUTTON_PRESS_MASK);
g_signal_connect(G_OBJECT(learnmorebox), "button_press_event", G_CALLBACK(learn_more), NULL);
Я подозреваю, что есть кое-что, что я могу установить в GtkStyle, но пока не нашел ничего полезного.