FAQ GTK+Consultez toutes les FAQ

Nombre d'auteurs : 10, nombre de questions : 101, dernière mise à jour : 22 février 2018  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. Elle fournit des "widgets", qui sont des contrôles peuplant les interfaces graphiques, comme des cases à cocher, des boutons, des champs de saisie, etc.

Bien qu'en C, cette bibliothèque est utilisable dans de nombreux autres langages via des bindings.

Mis à jour le 22 février 2018 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 de texte
  • 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 liste de diffusion de GTK :

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 :

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

Le projet GNOME qui héberge GTK+ centralise une liste des bibliothèques de la plate-forme de développement GNOME.

GNOME ne tournant que sous Linux, certaines bibliothèques peuvent n'être compatibles qu'avec Linux, d'autres seront multi-plateformes, ce sera à vous de le vérifier selon vos besoins.

Mis à jour le 22 février 2018 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

Bien qu'en C, GTK+ est utilisable dans de nombreux autres langages via des bindings.

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é.

Mis à jour le 14 mai 2007 P'tit Pack

Anciennement, la même installation de GTK+ était utilisée pour toutes les applications GTK+ installées sous Windows. La mettre à jour pouvait donc avoir un impact sur d'autres applications utilisant GTK+ (comme GIMP). La politique officielle est à présent de livrer ensemble une application avec la version de GTK+ avec laquelle elle a été testée. Cela permet au développeur de l'application d'avoir le contrôle sur la version de GTK+ utilisée.

Mis à jour le 22 février 2018 sub_khaine

Par défaut les applications GTK+ ont un style qui leur est propre, et qui ne s'intègre pas bien aux différentes versions de Windows. Pour obtenir un rendu proche du thème Windows que vous utilisez, il faut changer le thème utilisé par GTK+ pour dessiner ses composants.

La technique pour GTK+ 2 est expliqué dans le tutoriel : Développez et déployez une application GTK+ sous Windows.
Pour GTK+ 3, la gestion des thèmes a été entièrement réécrite, et se base sur le format CSS utilisé abondamment sur le web.

Mis à jour le 22 février 2018 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 © 2018 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+