Free online content available in this course.

Got it!

Last updated on 1/8/18

Avant de se lancer...

Log in or subscribe for free to enjoy all this course has to offer!

Bienvenue à tous dans ce premier chapitre ! :)

Si vous êtes là, c'est surement que vous souhaitez découvrir GTK+, ses possibilités, son apparence, etc...
C'est donc ce que je vais tenter de vous présenter, vous pourrez ainsi voir si vous voulez apprendre à vous en servir. ;)

L'Histoire de GTK

Logo de GTK+

Le logo de GTK

GTK est née d'un projet bien particulier, celui de créer une librairie graphique portable pour faire un logiciel de retouche d'images. Cette idée est venue à l'esprit de Peter Mattis, Spencer Kimball & Josh MacDonald, GTK venait de naître !

Oui mais alors, pourquoi GTK ?
Après tout, que signifie ce nom bizarre ???

Ce nom signifie The GIMP ToolKit !
The GIMP étant bien entendu le nom de leur logiciel de retouche et ToolKit signifiant Kit d'outils (en gros ^^ ).

À la base, la bibliothèque GTK était faite pour être utilisée par The GIMP, mais maintenant les choses ont légèrement changé. Certes, GTK est toujours utilisée par The GIMP, mais de plus, GTK est maintenant utilisée par de nombreux projets (plus ou moins gros), comme par exemple Gnome.

Les avantages

Quels sont les avantages de GTK ?
C'est vrai ça ? Pourquoi on prendrait GTK et pas une autre GUI ?

GTK possède plusieurs avantages (je ne dis pas que les autres GUI ne les ont pas, mais GTK les a) :

  • Licence GNU LGPL : GTK est libre, gratuite & modifiable à souhait (utilisable pour faire des logiciel payants sans acheter de licence).

  • Multi-Plateforme : GTK existe sur de nombreuses plateformes comme Linux, Windows, Mac OSX, Bsd et BeOs. Vive le portable ! :)

  • Multi-Langage : On peut programmer avec GTK avec des très nombreux langages comme le C, C++, Ada, C#, Java, Python, Perl, PHP, Pascal, Fortran, Eiffel, etc... :-°

À l'appui, une citation de notre grand ami :

Citation : M@teo21

C'est une librairie de fenêtres multiplateforme. Elle a été créée au départ pour le logiciel de dessin The Gimp, puis elle a été étendue et améliorée pour être utilisable par d'autres programmes.
Contrairement à la SDL qui ne permet pas de créer des boutons et de menus (enfin c'est possible mais il faut les simuler c'est un peu délicat) et qui est plutôt adaptée pour les jeux, GTK+ vous propose tout ça. C'est une librairie sous licence LGPL aussi, donc vous êtes libres de distribuer vos programmes comme vous le voulez.

Pour info, saviez-vous que...
  • GTK a été portée en plus de 32 langages différents ?

  • Vous pouvez télécharger plus de 200 thèmes différents pour vos applications, et même créer le votre ?

  • Derrière le nom GTK se cache une acronymie imbriquée relativement complexe :
    GTK : the GIMP ToolKit.
    GIMP : GNU Image Manipulation Program.
    GNU : GNU's Not UNIX.
    UNIX : Uniplexed Information and Computing Service.
    Soit GTK : The GNU's Not Uniplexed Information and Computing Service Image Manipulation Program ToolKit...
    (Un sacré morceau, pas vrai !? :p )

Sources et sites webs

Possibilités de GTK

GTK ça ressemble à quoi ?

GTK est donc (avec les librairies qui l'accompagnent) une bibliothèque graphique qui permet de créer des programme de type GUI (programme à interface graphique) comprenant fenêtres, boutons, zones de texte, etc... ;)

Cependant, les application GTK on une apparence bien particulière, beaucoup de gensd'incultes appellent (à tort) les applications GTK, fenêtres Linux ! o_O

Vous allez voir pourquoi :

Editeur de texte en GTK

Un éditeur de texte en GTK sous XP; ça change pour les Windoziens, mais quand on y pense, c'est beau quand même ! ^^

J'aurais pu prendre un exemple plus flagrant, c'est vrai, mais on voit quand même que ce n'est pas de l'API Win32 ou du Cocoa Mac OSX !
Les linuxiens sous Gnome ne seront absolument pas dépaysés ! :p

Mais si cela ne vous plait pas (on ne sait jamais), vous pourrez toujours utiliser les thèmes GTK pour modifier l'apparence de vos applications ! :) (On verra comment faire...)

Si vous voulez voir d'autres images, cherchez The GIMP, Inkscape, ou encore Gnome sur Google Images. :)

Et qu'est-ce qu'on peut faire avec ?

GTK permet (et c'est son but principal) de créer un interface graphique pour faire interagir l'utilisateur autrement qu'a grands coups de scanf, vous pourrez donc ajouter/enlever à volonté différents éléments dans vos fenêtres !
Voici une liste non-exhaustive des éléments que vous pouvez créer :

  • Fenêtres

  • Boîtes de dialogues

  • Sélections de couleur, Polices ou de Fichiers

  • Impressions de documents

  • Menus, Barres d'outils, Barres de Statut

  • Affichage de textes et de liens

  • Images

  • Frames, cadres

  • Boîtes et tableaux

  • Boutons, cases à cocher et zones d'options

  • Zones de textes (simple & multi-lignes)

  • Barres de progression

  • Onglets

  • Listes et arbres

  • Zones de dessin

  • Création et utilisation de thèmes !

  • Intégration d'un contexte OpenGL ou d'une surface SDL

... Et sûrement encore un certain nombre d'éléments, mais bon, ça fait déjà un paquet, non ? ^^
Elle vous fait envie cette petite liste, ça se voit ! :p

Après cette brève présentation de la bibliothèque, vous savez maintenant ce qui vous attend.
Si vous êtes tenté, passez au deuxième chapitre et installez GTK !!! :)

Rassurez-vous, GTK est très facile à apprendre, et puis si vous n'êtes pas sûrs, essayez, vous verrez bien que vous auriez eu tort de passer à côté ! :p

Example of certificate of achievement
Example of certificate of achievement