2010-04-01 4 views
1

일부 컨테이너와 위젯이있는 창을 만들었습니다.이 창에서 Vbox 중 하나에 런타임에 새로운 위젯을 동적으로 추가하려고합니다.GtkBuilder에서 만든 컨테이너에 프로그래밍 방식으로 위젯을 추가하려면 어떻게해야합니까?

gtk_builder_add_from_file(g_builder, "window.xml", NULL); 
mainwindow = GTK_WIDGET(gtk_builder_get_object(g_builder, "window")); 
gtk_widget_show(mainwindow); 

은 그럼 예를 들어, 새 레이블을 만들고, 기존 Vboxes 중 하나에 추가, "vbox_mid"라고,이 같은 :

그래서 창이 나타납니다이 코드를 가지고
label = gtk_label_new("Test label"); 
vbox = GTK_WIDGET(gtk_builder_get_object(g_builder, "vbox_mid")); 
gtk_box_pack_end(GTK_BOX(vbox), label, TRUE, TRUE, 0); 

그러나 이것은 효과가없는 것 같습니다. vbox에 새 레이블이 표시되지 않습니다. 나는 여기서 뭔가를 놓치고있는 느낌이 들지만, 나는 그것이 무엇인지를 볼 수 없다. 동적 인 위젯을 추가하는 특별한 GtkBuilder 호출이있을 것이라고 생각했지만, 그런 모습은 보이지 않습니다. 나는 이것에 대한 어떤 도움이라도 정말로 바르게 평가할 것이다.

답변

3

레이블을 추가 한 후에 꼭 기억해 둡니까?

관련 문제