Les meilleurs sources GTK+Consultez toutes les sources

Nombre d'auteurs : 4, nombre de sources : 13, dernière mise à jour : 28 juin 2013 

 
OuvrirSommaireGTK+

Ce code est une « pseudo » classe qui prend en charge une très grande partie de la gestion d'un widget gtk_tree_view (affichage en arbre). Est gérée, la création complète du widget qui est placé lui-même dans un gtk_scrolled_window (barres de défilement), l'ajout/suppression d'éléments. Sont pris en compte également la gestion de certaines propriétés visuelles du widget comme l'affichage et le changement du titre de l'entête de la colonne, l'affichage de lignes colorées…

Créé le 5 juin 2006  par Franck.H

Téléchargez le zip

Ceci est une petite fonction qui permet d'afficher en un seul appel une boîte de messages en GTK.
Plus la peine de s'embêter à coder l'appel, la mise en place de la boîte de dialogue et la réception des messages… Il suffit d'appeler la fonction et de vérifier la valeur qu'elle retourne et la comparer à celle de la constante d'après le type de réponses que vous attendez puis c'est tout !

Créé le 5 juin 2006  par Franck.H

Téléchargez le zip

Voici un exemple d'utilisation de GtkUIManager qui permet de créer des menu et barre d'outils rapidement à l'aide d'un fichier XML. Pour plus d'infortmation, reportez vous au tutorial : Utilisation de GtkUIManager

Créé le 15 novembre 2006  par Nicolas Joseph

Téléchargez le zip

Voici un exemple d'éditeur de texte basique réalisé avec GTK+. Vous pouvez retrouver toutes les explications dans le tutorial : GTK+ par l'exemple

Créé le 15 novembre 2006  par Nicolas Joseph

Téléchargez le zip

Ce widget s'attache simplement à un GtkTextView est permet, lorsque l'utilisateur appuie sur les touches Ctrl+Entrée, d'afficher une liste de mots. Voici un exemple d'utilisation :

 
Sélectionnez
#include <gtk/gtk.h>
#include <gtkcompletion/gtkcompletion.h>
 
const gchar *items[] = {"fclose", "fopen", "strcpy", "strcmp", "strcat", NULL};
 
int main (int argc, char *argv[])
{
  GtkWidget *p_window = NULL;
  GtkWidget *p_text_view = NULL;
 
  gtk_init (&argc, &argv);
 
  p_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  gtk_widget_set_size_request (p_window, 200, 300);
  g_signal_connect (p_window, "delete-event", gtk_main_quit, NULL);
 
  p_text_view = gtk_text_view_new ();
  gtk_container_add (GTK_CONTAINER (p_window), p_text_view);
 
  gtk_completion_new_attach (GTK_TEXT_VIEW (p_text_view), items);
 
  gtk_widget_show_all (p_window);
  gtk_main ();
  return 0;
}
Créé le 27 décembre 2007  par Nicolas Joseph

Téléchargez le zip

Ce widget permet simplement d'effectuer un filtre sur le contenu d'un GtkTreeView.

Créé le 27 décembre 2007  par Nicolas Joseph

Téléchargez le zip

Voici un exemple montrant comment bloquer la fermeture d'une fenêtre en demandant confirmation à l'utilisateur.

 
Sélectionnez
#include <gtk/gtk.h>
 
static GtkResponseType confirm_quit_dialog (void)
{
  GtkWidget *dialog = NULL;
  GtkResponseType response = GTK_RESPONSE_NO;
 
  dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_DESTROY_WITH_PARENT,
                                   GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO,
                                   "Etes-vous sur de vouloir quitter ?");
 
  gtk_window_set_title(GTK_WINDOW(dialog), "Quitter");
 
  response = gtk_dialog_run (GTK_DIALOG (dialog));
  gtk_widget_destroy (dialog);
  return response;
}
 
static gboolean on_window_delete_event (void)
{
  if (confirm_quit_dialog () == GTK_RESPONSE_NO)
  {
    /* Ne pas quitter */
    return TRUE;
  }
  else
  {
    /* Quitter */
    return FALSE;
  }
}
 
int main (int argc, char **argv)
{
  GtkWidget *window = NULL;
 
  gtk_init (&argc, &argv);
 
  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  gtk_window_set_title (GTK_WINDOW (window), "Quit Dialog Example");
  gtk_container_set_border_width (GTK_CONTAINER (window), 10);
  gtk_widget_set_size_request (window, 200, 100);
 
  g_signal_connect (G_OBJECT(window), "destroy", gtk_main_quit, NULL);
  g_signal_connect (G_OBJECT(window), "delete-event",
                    G_CALLBACK (on_window_delete_event), NULL);
 
  gtk_widget_show (window);
  gtk_main ();
  return 0;
}
Créé le 27 décembre 2007  par Nicolas Joseph
  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2007-2013 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.