如何以编程方式将小部件添加到从GtkBuilder创建的容器中?

时间:2010-04-01 20:58:59

标签: widget add containers gtkbuilder

我已经创建了一个包含一些容器和小部件的窗口,我想在运行时动态地将新小部件添加到此窗口中的一个Vbox。所以我有这个代码,它会打开窗口:

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

然后我创建一个新标签,然后将其添加到其中一个名为“vbox_mid”的现有Vbox中,如下所示:

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调用动态添加一个小部件,但我没有看到任何类似的东西。我真的很感激任何帮助。

1 个答案:

答案 0 :(得分:3)

您是否记得在添加标签后出示标签?