2010-04-01 8 views
1

J'ai créé une fenêtre dans laquelle se trouvent des conteneurs et des widgets, et je souhaite ajouter dynamiquement un nouveau widget lors de l'exécution à l'une des Vbox de cette fenêtre. J'ai donc ce code, ce qui porte la fenêtre:Comment ajouter un widget par programme à un conteneur créé à partir de 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); 

Puis-je créer une nouvelle étiquette, par exemple, et l'ajouter à l'un des vbox, appelé « vbox_mid » existant, comme celui-ci:

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); 

Mais cela ne semble pas fonctionner. Je ne vois pas de nouvelle étiquette dans la vbox. J'ai le sentiment qu'il me manque quelque chose ici, mais je ne vois pas ce que c'est. Je pensais qu'il y avait peut-être un appel spécial de GtkBuilder pour ajouter dynamiquement un widget, mais je ne vois rien qui ressemble à ça. J'apprécierais vraiment toute aide à ce sujet.

Répondre

3

Avez-vous pensé à montrer votre étiquette après l'avoir ajoutée?

Questions connexes