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+.
- Qu'est ce que GTK+ ?
- Comment est architecturé GTK+ ?
- Que signifie le + de GTK+ ?
- Puis-je commercialiser mon application utilisant GTK+ ?
- Comment installer GTK+ ?
- Où trouver des tutoriels sur GTK+ ?
- Où trouver la documentation de référence sur GTK+ ?
- Où trouver des bibliothèques complémentaires pour GTK+ ?
- Est-ce que GTK+ est portable ?
- Quels langages peuvent être utilisés avec GTK+ ?
- Comment compiler un programme utilisant GTK+ ?
- GTK+ 2 : Pourquoi les images des boutons ne s'affichent pas ?
- Sous Windows, dois-je utiliser la même installation de GTK+ pour toutes mes applications ?
- Comment obtenir une apparence homogène ?
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.
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.
Voici l'explication de Peter Mattis postée sur la liste de diffusion de GTK :
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.
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.
Que votre application soit libre ou propriétaire, vous êtes tout à fait autorisé à la vendre ou la distribuer gratuitement selon votre désir. La licence GNU LGPL 2.1 ou ultérieure utilisée par GTK+ n'impose pas de restriction sur l'usage commercial.
Toutefois, vous aurez tout de même quelques conditions de la licence à respecter. Dans le cas le plus courant (application libre ou propriétaire liée dynamiquement au GTK+ fourni par le système), vous n'avez rien à faire. En revanche, si vous souhaitez la lier statiquement, ou si vous redistribuez un GTK+ compilé, il y a quelques règles simples à respecter.
GTK+ étant multi-plateforme, il existe plusieurs méthodes d'installation.
Sous Linux, votre distribution propose sûrement des paquets (rpm, deb...) qui vous simplifieront la tâche. Généralement les bibliothèques nécessaires à l'exécution d'un programme sont dans un paquet, et les fichiers de développement dans un autre. 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 installer GTK+ sous Linux à partir des sources (article obsolète, lié à GTK+ 2.10).
Sous Windows, la procédure d'installation conseillée par l'équipe de GTK+ utilise, comme sous Linux, un gestionnaire de paquets.
Voici quelques adresses où vous pourrez trouver des tutoriels sur GTK+.
GTK+ 2 est une version bientôt obsolète et ne devrait pas être utilisé dans de nouvelles applications. Les tutoriels GTK+ 2 peuvent néanmoins être utile dans le cas de la maintenance ou la migration de vieilles applications écrites en GTK+ 2.
La documentation officielle est disponible sur le Centre de développement GNOME :
Documentation GTK+ 3 :
Documentation GTK+ 2:
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 vérifier si elles sont adaptées à vos besoins.
GTK+ est principalement développé sous Linux, mais est portable sur de nombreuses plateformes. Il est compatible avec différents systèmes d'exploitation :
De plus un certain nombre de projets annexes existent pour d'autres systèmes, comme ceux prenant en charge DirectFB.
GTK+ n'est cependant pas porté sous Android à ce jour.
Bien qu'écrit en C, GTK+ est utilisable dans de nombreux autres langages via des bindings.
Si vous utilisez un IDE, regardez s'il n'existe pas déjà un type de projet dédié à GTK+.
Si vous utilisez gcc, pkg-config simplifie grandement les choses puisqu'il vous fournit directement les paramètres de compilation à utiliser :
Code : | Sélectionner tout |
gcc $(pkg-config --cflags --libs gtk+-2.0) hello.c
Code : | Sélectionner tout |
gcc $(pkg-config --cflags --libs gtk+-3.0) hello.c
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
Le répertoire d'installation de GTK+ peut être différent selon l'installeur que vous avez utilisé.
Historiquement, plusieurs applications pouvaient partager la même installation de GTK+ sous Windows. Mettre à jour GTK+ pour une application pouvait donc avoir un impact sur les autres applications.
La politique officielle est à présent de livrer votre application avec sa propre version de GTK+, celle avec laquelle elle a été testée. Cela permet au développeur d'avoir plus de contrôle sur le comportement de son application.
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.
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 çaLes 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 © 2024 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.