Boite de dialogue de selection de fichier [code en c] [gcc]

Soyez le premier à donner votre avis sur cette source.

Snippet vu 12 458 fois - Téléchargée 36 fois

Contenu du snippet


Source / Exemple :


#include <stdio.h>
#include <gtk/gtk.h>

void file_selectioned (GtkWidget *w, GtkFileSelection *fs)
{
  //affiche le nom du fichier selectionner, apres validation, dans la console
  g_print ("%s\n", gtk_file_selection_get_filename (GTK_FILE_SELECTION (fs)));
}

//Detruit la fenetre si elle est fermer
void destroy (GtkWidget *widget, gpointer *data)
{
  gtk_main_quit ();
}

int main (int argc, char *argv[])
{
  GtkWidget *filewiew; //Declare un widget nome fileview
  
  gtk_init (&argc, &argv); //Initalise GTK
  
  /* Création d'un widget de sélection de fichier. */
  filewiew = gtk_file_selection_new ("Selectionner un fichier"); //Creer une boite de selection de fichier
  
  //Ajoute un signal a l'objet fileview, si la fenetre est fermer alors on la detruit
  gtk_signal_connect (GTK_OBJECT (filewiew), "destroy", 
		      (GtkSignalFunc) destroy, &filewiew);
  
  //Ajoute un signal: si un fichier est selectionner et que le bouton Ok est cliquer alors on appel la fonction file_selectioned 
  gtk_signal_connect (GTK_OBJECT (GTK_FILE_SELECTION (filewiew)->ok_button),
		      "clicked", (GtkSignalFunc) file_selectioned, filewiew );
  
  //Ajoute le signal: Si on clique sur le bouton cancel on detruit l'obket  
  gtk_signal_connect_object (GTK_OBJECT (GTK_FILE_SELECTION (filewiew)->cancel_button),
			     "clicked", (GtkSignalFunc) gtk_widget_destroy,
			     GTK_OBJECT (filewiew));
  
  //Affiche la boite 
  gtk_widget_show(filewiew);
  gtk_main (); //rend la main au programme
  return 0;
}

A voir également

Ajouter un commentaire

Commentaires

ZedMaTrix
Messages postés
178
Date d'inscription
vendredi 25 octobre 2002
Statut
Membre
Dernière intervention
14 août 2008
-
Code parfais !! Bien joué !
Xiann
Messages postés
4
Date d'inscription
mercredi 12 janvier 2005
Statut
Membre
Dernière intervention
27 juin 2007
-
Bravo et surtout un grand merci, c'était exactement ce que je recherchais depuis plusieurs trop longues heures ! ;)
cs_azerty25
Messages postés
1115
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
6 mai 2007
-
Oui, mais il faut le faire avec GTK et pas VC++ lol ;-)
JackosKing
Messages postés
168
Date d'inscription
mardi 31 décembre 2002
Statut
Membre
Dernière intervention
21 avril 2005
-
...
gtk existe aussi sous win il devrait etre compatible non?
cs_azerty25
Messages postés
1115
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
6 mai 2007
-
nope --> Normal, ce code est fait pour Linux ;-)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.