Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 20/06/2010, à 00:59

montcarlo

ouvrire un fichier avec Gtk+?

salut,
voila le bleme :comment ouvrir un fichier avec Gtk+? quelle est la fonction qui nous permet d'ouvrir un fichier et de l'afficher avec gtk texte view?
voila se que j'ai essayer:mais rien
Ps: j'utilise glade pour les interface ici,c'est une gtk file chooser qui appeler puis elle renvoie le nom du fichier a ouvrir.

static void open_file (const gchar *file_name, GtkTextView *text_view)
{
  g_return_if_fail (file_name &&text_view);
  {
    gchar *contents = NULL;

    if (g_file_get_contents (file_name, &contents, NULL, NULL)==TRUE)
    {
      /* Copie de contents dans le GtkTextView */
      GtkTextBuffer *buffer=NULL;
      GtkTextIter iter;
      gchar *utf8 = NULL;

      buffer= gtk_text_view_get_buffer(text_view);
      gtk_text_buffer_get_iter_at_line (buffer,&iter, 0);

      if(utf8 = g_locale_to_utf8 (contents, -1, NULL, NULL, NULL)!= NULL)
      {
          g_free (contents), contents = NULL;
          gtk_text_buffer_insert (buffer,&iter,utf8, -1);
          g_free (utf8), utf8 = NULL;
      }
      else
      {
          fprintf (stderr, "\n");
          exit (EXIT_FAILURE);
      }

    }
}

}

Hors ligne

#2 Le 20/06/2010, à 17:10

AnsuzPeorth

Re : ouvrire un fichier avec Gtk+?

Bjr,
Je ne sais pas en C, mais en pygtk c'est simplement

buffertexte.set_text(chaine)

Ou pour charger au curseur:

buffertexte.insert_at_cursor(text)

Pour ajouter à la fin du text, il faut d'abord récupere l'iter de fin.

start, end = buffertexte.get_bounds()
buffertexte.insert(end, text+'\n')

Voilà, ca t'aideras peut être smile


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#3 Le 20/06/2010, à 23:55

montcarlo

Re : ouvrire un fichier avec Gtk+?

merci pour t'as réponse , mais je doute que ca vas m'aider surtout si c'est en pygtk . .merci encore

personne ne peut m'aider. . . sad

Hors ligne

#4 Le 21/06/2010, à 03:08

grim7reaper

Re : ouvrire un fichier avec Gtk+?

Salut,

Regarde ce tuto, tu trouveras peut-être la solution (ou du moins une piste).

Hors ligne

#5 Le 21/06/2010, à 07:17

AnsuzPeorth

Re : ouvrire un fichier avec Gtk+?

montcarlo a écrit :

merci pour t'as réponse , mais je doute que ca vas m'aider surtout si c'est en pygtk . .merci encore

personne ne peut m'aider. . . sad

Les commandes gtk sont presque pareil en C ou pygtk. (en C tu as plus de choix)
Le principe est le même ...

gtk_text_buffer_get_bounds
gtk_text_buffer_set_text
gtk_text_buffer_insert_at_cursor

Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#6 Le 08/06/2014, à 03:55

Blender40

Re : ouvrire un fichier avec Gtk+?

j'ai le meme probleme avec gtk actu

Hors ligne

#7 Le 08/06/2014, à 04:03

Blender40

Re : ouvrire un fichier avec Gtk+?

grim7reaper a écrit :

Salut,

Regarde ce tuto, tu trouveras peut-être la solution (ou du moins une piste).

c'est justement ce tuto que lis, mais rien...

Hors ligne

#8 Le 08/06/2014, à 13:05

grim7reaper

Re : ouvrire un fichier avec Gtk+?

Et bien il va falloir relire, car il y a une fonction open_file qui présente la fonction g_file_get_contents qui charge le contenu d’un fichier dans une chaîne de caractères.
Ensuite, il suffit d’utiliser la fonction gtk_text_buffer_insert (aussi présente dans le tuto, même page).

Après, si tu à des problèmes tu peux poster ton code pour qu’on voit de quoi il en retourne.

Hors ligne