Sauvegarder un fichier en GTK

Signaler
Messages postés
98
Date d'inscription
vendredi 17 février 2006
Statut
Membre
Dernière intervention
24 janvier 2018
-
Messages postés
98
Date d'inscription
vendredi 17 février 2006
Statut
Membre
Dernière intervention
24 janvier 2018
-
Bonjour, jai un soucis avec la sauvegarde de fichier en gtk.
Aucun probleme ni à l'éxécution ni à la compilation , seulement que le fichier n'est pas créer :


GtkWidget *p_dialog = NULL;
gchar *sChemin=NULL;

p_dialog = gtk_file_chooser_dialog_new (TEXTE_1, NULL,
GTK_FILE_CHOOSER_ACTION_SAVE,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
NULL);

if (gtk_dialog_run (GTK_DIALOG (p_dialog)) == GTK_RESPONSE_ACCEPT)
{
sChemin = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (p_dialog));
puts(sChemin);
}

gtk_widget_destroy (p_dialog);
g_free(sChemin);

2 réponses

Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
5
Bas c'est pas fait pour créer un fichier, juste pour demander un nom de fichier ....
Messages postés
98
Date d'inscription
vendredi 17 février 2006
Statut
Membre
Dernière intervention
24 janvier 2018

Oui je men suis rendu compte après, merci lol.
Mon but est de sauvegarder mon document sous forme de .jpeg
Mon code étant celui-ci et j'ai une erreur du type
(test:20574): GdkPixbuf-CRITICAL **: gdk_pixbuf_new: assertion `width > 0' failed etc......


GtkWidget *p_dialog = NULL;
gchar *sChemin = NULL;

p_dialog = gtk_file_chooser_dialog_new (TEXTE_1, NULL,GTK_FILE_CHOOSER_ACTION_SAVE,GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,NULL);

if (gtk_dialog_run (GTK_DIALOG (p_dialog)) == GTK_RESPONSE_ACCEPT)
{
sChemin = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (p_dialog));

gtk_widget_destroy (p_dialog);

GdkPixbuf *pixbuf;
/* getting pixbuf */
pixbuf = gdk_pixbuf_get_from_drawable(
NULL,
(GdkDrawable *)drawing_area->window,gtk_widget_get_colormap((GtkWidget*)drawing_area),
0,0,
0,0,
-1,-1);

/* saving pixbuf to jpeg */
gdk_pixbuf_save(pixbuf, sChemin, "jpeg", NULL);

g_object_unref(pixbuf); /* freeing pixbuf */

}
g_free(sChemin);