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

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.

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

Mis à jour le 16 novembre 2006 sub_khaine

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.

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 vérifier si elles sont adaptées à vos besoins.

Mis à jour le 22 février 2018 sub_khaine

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.

Mis à jour le 16 novembre 2006 fearyourself sub_khaine

Bien qu'écrit 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+.
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
Si vous utilisez un build system comme Meson par exemple, c'est encore plus simple.

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

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.

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+