2010-11-22 7 views
0

Je suis un débutant à gtk et c. Utilisation de c et de libglade pour mon programme.Comment purger une table Gtk de tous ses widgets

J'écris un programme qui a besoin de mettre à jour une table gtk encore et encore en fonction de la sélection de liste déroulante qui a été faite par l'utilisateur.

Avec l'initialisation, le GUI a une vbox avec une table vide. L'utilisateur sélectionne une option dans la liste déroulante et, selon la sélection, la table est remplie de widgets (étiquettes et boîtes d'entrée). Si l'utilisateur change sa sélection en une option différente, je dois effacer la table des widgets précédents et emballer la table avec un nouveau widget approprié pour la sélection.

J'ai essayé de détruire le widget de table et de recréer une nouvelle table à ajouter à la vbox, mais je reçois une erreur de segmentation.

Existe-t-il un moyen de détruire les widgets dans la table mais pas la table ou une manière différente de faire ce que je veux faire?

Répondre

0

Avez-vous essayé tblFoo.resize(0, 0)?

3

Il semble que vous ayez besoin d'utiliser un GtkTreeView avec un GtkListStore au lieu d'un tableau et GtkCellRendererText au lieu des étiquettes et des boîtes de saisie. La table n'est pas conçue pour afficher des données dynamiques.

+0

Vous montre le peu que je sais sur GTK! –

0

Vous pouvez supprimer la table existante et créer + ajouter une nouvelle table où l'ancienne était attachée, par ex. à l'intérieur d'une boîte verticale.

Questions connexes