Bonjour,

Je souhaite modifier le texte d'un entry.
Voici le contexte:
  • Appuis sur un bouton
  • Choix d'un fichier dans la fenetre qui s'ouvre
  • Modification de l'entry avec la nouvelle entrée


Malheureusement, je n'arrive pas à récupérer l'entry pour le modifier:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
 
#include <gtk/gtk.h>
#include <string>
 
using namespace std;
 
// Déclaration des fonctions
void quitter(GtkWidget *pButton, gpointer pData);
void choix (GtkWidget *pButton, gpointer data);
 
// Programme principal
int main(int argc,char **argv)
{
	GtkWidget* cWindow;
	GtkWidget* cTable;
	GtkWidget* cLabel;
	GtkWidget* cBoutonMenu;
	GtkWidget* zoneTexte;
	string home;
 
        gtk_init(&argc,&argv);
 
 
	///////////////////////// Création de la fenetre ////////////////////////
	cWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
	gtk_window_set_title(GTK_WINDOW(cWindow), "ECM");
	gtk_window_set_default_size(GTK_WINDOW(cWindow), 640, 480);
	 /* fermeture de la fenetre par la croix en haut à droite */
	 g_signal_connect(G_OBJECT(cWindow), "destroy", G_CALLBACK(gtk_main_quit), NULL);
 
	// Création de la table ou seront affiché les informations
	 cTable = gtk_table_new(9,4,TRUE);
	gtk_container_add(GTK_CONTAINER(cWindow), GTK_WIDGET(cTable));
	/* Creation du label titre*/
	cLabel=gtk_label_new("ECM");
	gtk_table_attach_defaults(GTK_TABLE(cTable), cLabel, 0, 9, 0, 1); 
	/* insertion du bouton choix et de la zone entry*/
	zoneTexteLatex = gtk_entry_new();
	gtk_table_attach_defaults(GTK_TABLE(cTable), zoneTexteLatex, 1,7,1,2);
	cBoutonMenu = gtk_button_new_with_mnemonic("_Choix");
	gtk_table_attach_defaults(GTK_TABLE(cTable), cBoutonMenu, 7,8,1,2);
	g_signal_connect(G_OBJECT(cBoutonMenu), "clicked" , G_CALLBACK(choix) , NULL);
 
	/* insertion du bouton exit */
	cBoutonMenu = gtk_button_new_with_mnemonic("_Exit");
	gtk_table_attach_defaults(GTK_TABLE(cTable), cBoutonMenu, 1,8,3,4);
	g_signal_connect(G_OBJECT(cBoutonMenu), "clicked" , G_CALLBACK(quitter) , NULL);
 
	/* Affichage de la fenétre et de tout ce qu'elle contient */
	 gtk_widget_show_all(cWindow);
 
	gtk_main();
	//transformpdf();
	return EXIT_SUCCESS;
}
 
void quitter(GtkWidget *pButton, gpointer pData)
{
	gtk_main_quit();
}
 
void choix (GtkWidget *pButton, gpointer data) {
	GtkWidget *p_dialog = NULL;
	GtkWidget *pTempEntry;
	GList *pList;
	// Récupération des élèments du tableau
	pList = gtk_container_get_children(GTK_CONTAINER((GtkWidget*)data));
 
	 // Parametre inutilisé
 	(void)pButton;
}
Ce code affiche Gtk__CRITICAL IA__gtk_container foreach: assertion 'GTK_IS_CONTAINER (container)' failed