GTK3 창에 레이블을 추가하고 레이블의 글꼴 크기를 설정하려고합니다. 내 시도는 다음과 같습니다.Pango 속성으로 라벨의 글꼴 크기를 설정하는 방법은 무엇입니까?
#include <gtk/gtk.h>
static void
add_label (GtkWidget* window, gchar *text)
{
GtkWidget *label = gtk_label_new(text);
PangoAttrList *attrlist = pango_attr_list_new();
PangoAttribute *attr = pango_attr_size_new_absolute(20);
pango_attr_list_insert(attrlist, attr);
gtk_label_set_attributes(GTK_LABEL(label), attrlist);
pango_attr_list_unref(attrlist);
gtk_container_add (GTK_CONTAINER (window), label);
}
static void
activate (GtkApplication* app,
gpointer user_data)
{
GtkWidget *window;
window = gtk_application_window_new (app);
gtk_window_set_title (GTK_WINDOW (window), "Window1");
gtk_window_set_default_size (GTK_WINDOW (window), 200, 200);
add_label(window, "Hello world");
gtk_widget_show_all (window);
}
int
main (int argc, char **argv)
{
GtkApplication *app;
int status;
app = gtk_application_new ("org.gtk.example", G_APPLICATION_FLAGS_NONE);
g_signal_connect(app, "activate", G_CALLBACK(activate), NULL);
status = g_application_run(G_APPLICATION(app), argc, argv);
g_object_unref (app);
return status;
}
이것은 어떤 레이블도 생성하지 않습니다. 줄을 주석으로 처리하면 :
gtk_label_set_attributes(GTK_LABEL(label), attrlist);
레이블이 표시되지만 글꼴 크기는 설정되지 않습니다.
이 방금 CSS를 사용해야하는 또 다른 이유입니다. :) –