FAQ GTK+Consultez toutes les FAQ

Nombre d'auteurs : 10, nombre de questions : 101, dernière mise à jour : 30 septembre 2008  Ajouter une question

 

Cette faq a été réalisée à partir des questions fréquemment posées sur les forums de www.developpez.com et de l'expérience personnelle des auteurs.
Je tiens à souligner que cette faq ne garantit en aucun cas que les informations qu'elle propose sont correctes ; les auteurs font le maximum, mais l'erreur est humaine. Cette faq ne prétend pas non plus être complète. Si vous trouvez une erreur, ou que vous souhaitez devenir rédacteur, lisez ceci.
Sur ce, nous vous souhaitons une bonne lecture, L'équipe GTK+.


SommaireGénéralités (14)
précédent sommaire suivant
 

GTK+ est une bibliothèque écrite en langage C qui permet de créer des interfaces graphiques, au départ en C, puis dans de nombreux langages (par exemple : C++, Perl, C#, php... La liste complète est disponible sur le site officiel : ). Au départ créée pour le développement du logiciel The Gimp (GTK signifie The Gimp ToolKit), GTK est devenue une bibliothèque indépendante qui est à l'origine de nombreuses applications (pour citer la plus connue : l'environnement de bureau Gnome).

Mis à jour le 16 novembre 2006 sub_khaine

Comme souvent dans le monde Unix, GTK+ est composée d'un ensemble de couches :

  • glib : il s'agit d'une bibliothèque qui étend les possibilités de la bibliothèque standard du C
  • gobject : la couche qui implémente le système objet de GTK+
  • Pango : pour le rendu, essentiellement des blocs de textes
  • ATK : la couche pour la gestion de l'accessibilité
  • GdkPixbuf : pour la gestion des images
  • GDK : couche de bas niveau pour l'accès aux fonctions de gestion des fenêtres
  • GTK+ : il s'agit de la bibliothèque qui permet de créer les interfaces utilisateurs graphiques.

Mis à jour le 16 novembre 2006 P'tit Pack sub_khaine

Voici l'explication de Peter Mattis postée sur la mailing liste de GTK :

Code : Sélectionner tout
1
2
3
4
5
6
7
I originally wrote gtk which included the three libraries, libglib, libgdk and 
libgtk. It featured a flat widget hierarchy. That is, you couldn't derive a new 
widget from an existing one. And it contained a more standard callback mechanism 
instead of the signal mechanism now present in gtk+. The + was added to 
distinguish between the original version of gtk and the new version. You can 
think of it as being an enhancement to the original gtk that adds object 
oriented features.
Ce qui donne en français :

Code : Sélectionner tout
1
2
3
4
5
6
7
8
J'ai à l'origine écrit GTK en incluant les trois bibliothèques libglib, libgdk 
et libgtk. Il présentait une hiérarchie horizontale des widgets. C'est à dire, 
vous ne pouviez pas dériver un nouveau widget à partir d'un existant. Et il 
contenait d'avantage de mécanisme de callback standard au lieu du mécanisme de 
signaux maintenant présent dans gtk+. Le + a été ajouté pour faire la 
distinction entre la version originale de gtk et la nouvelle version. 
Vous pouvez voir ceci comme une mise en valeur de la version originale de gtk à 
laquelle ont été ajoutées des caractéristiques orientées objets.

Mis à jour le 16 novembre 2006 sub_khaine

GTK+ est sous licence GNU LGPL, ceci signifie qu'il est possible de commercialiser des applications utilisant GTK+ à la condition que la bibliothèque soit liée dynamiquement.

Mis à jour le 16 novembre 2006 sub_khaine

GTK+ étant multi-plateforme, il existe plusieurs méthodes d'installation.
Sous Linux, votre distribution propose sûrement des paquets (rpm, deb...) qui vous simplifie la vie (généralement les bibliothèques nécessaires à l'exécution d'un programme et les fichiers pour développer sont répartis en deux paquets). Si vous n'avez pas de système de paquets ou si vous souhaitez utiliser une version récente pas encore disponible sous forme de paquets, vous pouvez compiler les sources : Installation de GTK+ sous Linux à partir des sources.
Sous Windows vous avez besoin des dll (disponibles sous forme d'installeur ici ou sur le site de the gimp où sous forme de zip) ensuite si vous utilisez dev C++, un devpak est disponible ici ou si vous utilisez Code::Blocks, la procédure est expliquée ici.

Mis à jour le 16 novembre 2006 sub_khaine

Voici quelques adresses où vous pourrez trouver des tutoriels sur GTK+ :


Mis à jour le 16 novembre 2006 sub_khaine

La documentation officielle, regroupant toutes les fonctions disponibles, est disponible sur le site de GTK+ :

Mis à jour le 16 novembre 2006 sub_khaine

Le principal atout de GTK+ est justement sa portabilité, il est prévu pour fonctionner sur les systèmes d'exploitation les plus répandus :

  • Windows
  • Unix
  • Linux
  • BeOS

De plus un certain nombre de projets annexes existent pour d'autres systèmes :

  • MacOS X :
  • OS X :
  • Pour tout système supportant le directFB :

Mis à jour le 16 novembre 2006 fearyourself sub_khaine

Depuis plusieurs versions, l'utilisation de 4 langages sont compatibles avec GTK+ : C++, Java, Perl et Python.
D'autres projets sont en cours pour aider la portée et l'utilisation de GTK+ :

Mis à jour le 16 novembre 2006 fearyourself

Si vous utilisez un IDE, regardez s'il n'existe pas déjà un type de projet dédié à GTK+. C'est par exemple le cas pour Anjuta ou encore Code::Blocks (avec les nightly build). Si vous utilisez gcc, pkg-config simplifie grandement les choses puisqu'il suffit d'ajouter l'option suivante :

Code : Sélectionner tout
`pkg-config --cflags --libs gtk+-2.0`
Dans les autres cas, voici la liste des différents répertoires et bibliothèques à ajouter :

  • Les répertoires contenant les fichiers d'en-tête :
    • ./include/gtk-2.0
    • ./include/cairo
    • ./include/gdk
    • ./include/glib-2.0
    • ./include/pango-1.0
    • ./include/atk-1.0
    • ./lib/glib-2.0/include
    • ./lib/gtk-2.0/include
  • Les bibliothèques à lier :
    • Pour Windows :
      • gtk-win32-2.0
      • gobject-2.0
      • glib-2.0


  • Pour Linux :
    • gtk-x11-2.0


Mis à jour le 14 mai 2007 sub_khaine

Avec GTK+ 2.8 il est possible que les images des boutons ne s'affichent pas, pour corriger le problème allez dans le dossier d'installation de GTK+ (par défaut C:\Program Files\Fichiers communs\GTK\2.0\etc\gtk-2.0) et ouvrez le fichier gtkrc. Cherchez la ligne :

Code : Sélectionner tout
gtk-button-images = 0
Et mettez la valeur 1 au lieu de 0.

Le répertoire d'installation de GTK+ peut être différent selon l'installeur que vous avez utilisé. Pour la version proposée sur le site http://gladewin32.sourceforge.net/ le répertoire est C:\Program Files\GTK\share\themes\MS-Windows\gtk-2.0

Mis à jour le 14 mai 2007 P'tit Pack

Pour pouvoir utiliser The Gimp, il faut installer GTK+ mais il existe un installeur particulier pour Windows qui se trouve ici : . Si vous utiliser un autre installeur, The Gimp ne trouvera pas les dll dont il a besoin.

Mis à jour le 14 mai 2007 sub_khaine

Par défaut les applications GTK+ ont un style issu de Windows 98, ce qui est relativement moche lorsque l'on travaille sous Windows XP ou maintenant Windows Vista. Pour obtenir un rendu conforme au thème que vous utilisez, il faut simplement changer le thème utilisé par GTK+ pour dessiner ses composants. Ceci est expliqué dans le tutoriel : Développez et déployez une application GTK+ sous Windows.

Mis à jour le 30 septembre 2008 sub_khaine

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

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 © 2017 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.

 
Contacter le responsable de la rubrique GTK+