Créez une interface avec GTK+ ! Par guimers8 , Im@GinE , JRG Soft , Petrus6 et

Créez une interface avec GTK+ ! Par guimers8 , Im@GinE , JRG Soft , Petrus6 et Picxime www.siteduzero.com Licence Creative Commons BY-SA 2.0 Dernière mise à jour le 24/09/2010 Sommaire 2 Sommaire ........................................................................................................................................... 1 Partager .............................................................................................................................................. 3 Créez une interface avec GTK+ ! ....................................................................................................... 3 Partie 1 : Les bases de GTK ............................................................................................................... 4 Avant de se lancer... .......................................................................................................................................................... 4 L'Histoire de GTK ........................................................................................................................................................................................................ 4 Les avantages ............................................................................................................................................................................................................. 5 Possibilités de GTK ..................................................................................................................................................................................................... 5 GTK ça ressemble à quoi ? ......................................................................................................................................................................................... 6 Et qu'est-ce qu'on peut faire avec ? ............................................................................................................................................................................ 6 Installer GTK+ sous Windows ........................................................................................................................................... 7 Télécharger le Pack GTK+ & le Runtime .................................................................................................................................................................... 7 Installation ................................................................................................................................................................................................................... 8 Le Runtime GTK+ ....................................................................................................................................................................................................... 8 Le Pack GTK+ ............................................................................................................................................................................................................. 9 Configuration du Logiciel & d'un Projet GTK+ ............................................................................................................................................................. 9 Configuration du Logiciel ............................................................................................................................................................................................. 12 Configuration d'un Projet ........................................................................................................................................................................................... 17 Astuces ..................................................................................................................................................................................................................... 18 Installer GTK+ sous Linux ............................................................................................................................................... 19 Télécharger et installer les fichiers ............................................................................................................................................................................ 19 Mode Console ........................................................................................................................................................................................................... 20 Mode Graphique ........................................................................................................................................................................................................ 20 Compilation en ligne de commande .......................................................................................................................................................................... 21 Compilation sous Code::Blocks ................................................................................................................................................................................ 21 Configuration du logiciel ............................................................................................................................................................................................ 25 Test de la configuration ............................................................................................................................................................................................. 26 Installer GTK+ sous MacOS X ........................................................................................................................................ 27 Fink, X11 ? ................................................................................................................................................................................................................ 27 Installation ................................................................................................................................................................................................................. 27 XCode ....................................................................................................................................................................................................................... 27 X11 ............................................................................................................................................................................................................................ 28 Fink ............................................................................................................................................................................................................................ 28 Compilation ............................................................................................................................................................................................................... 28 Configuration du projet .............................................................................................................................................................................................. 29 Compilation et exécution ........................................................................................................................................................................................... 31 Notions de base et fenêtres ............................................................................................................................................ 31 Widgets et héritage ................................................................................................................................................................................................... 31 Les Widgets .............................................................................................................................................................................................................. 31 L'héritage ................................................................................................................................................................................................................... 32 Code de base et création d'une fenêtre .................................................................................................................................................................... 32 Code de base GTK .................................................................................................................................................................................................... 33 Création d'une fenêtre ............................................................................................................................................................................................... 35 Personnaliser notre fenêtre ....................................................................................................................................................................................... 36 Le titre ....................................................................................................................................................................................................................... 36 La taille (par défaut) .................................................................................................................................................................................................. 37 La taille (actuelle) ...................................................................................................................................................................................................... 37 Positionnement ......................................................................................................................................................................................................... 37 L'icône ....................................................................................................................................................................................................................... 38 Iconifier ...................................................................................................................................................................................................................... 38 Maximiser .................................................................................................................................................................................................................. 38 Bouton "fermer" ......................................................................................................................................................................................................... 39 Les bordures ............................................................................................................................................................................................................. 39 Exemple .................................................................................................................................................................................................................... 39 Le texte avec les labels ................................................................................................................................................... 40 Les GtkLabels ........................................................................................................................................................................................................... 40 Créer un label ............................................................................................................................................................................................................ 41 Récupérer et modifier un label .................................................................................................................................................................................. 41 Les Accents ............................................................................................................................................................................................................... 42 Changer le style d'un label ........................................................................................................................................................................................ 42 L'alignement .............................................................................................................................................................................................................. 42 Le formatage du texte avec les balises ..................................................................................................................................................................... 44 Exemple .................................................................................................................................................................................................................... 46 Gestion des évènements : les signaux ........................................................................................................................... 46 Comment ça marche ? .............................................................................................................................................................................................. 48 Exercices ................................................................................................................................................................................................................... 49 Partie 2 : Annexes ............................................................................................................................. 50 Trucs et astuces divers ................................................................................................................................................... 50 Quelques Macros... ................................................................................................................................................................................................... 50 Retour à la console ................................................................................................................................................................................................... 50 Problèmes d'encodage UTF-8 .................................................................................................................................................................................. 51 Texte accentué .......................................................................................................................................................................................................... 2/54 www.siteduzero.com Créez une interface avec GTK+ ! Par JRG Soft et Picxime et Im@GinE et guimers8 et Petrus6 Mise à jour : 12/07/2009 Difficulté : Facile 1 382 visites depuis 7 jours, classé 80/782 Ce tutoriel n'est plus mis à jour Le BIG tuto GTK n'est plus maintenu. Avec l'équipe nous allons voir comment le réorganiser et enlever ce qui ne va plus pour vous éviter d'éventuels problèmes. Quant à le continuer, pour le moment ce n'est pas envisageable. Peut être qu'un membre souhaiterai le faire ? Apprendre à programmer, c'est bien ! Mais ensuite, qu'en faire ? La bibliothèque GTK+, écrite en C permet de créer une interface graphique pour vos applications. V ous pouvez créer fenêtres, boutons, menus, barres d'outils, barres de progression, etc... et il est même possible d'imprimer, d'appliquer un thème, et bien d'autres choses encore ! Nous sommes trois membres du site a nous être rassemblés pour tout vous apprendre sur cette bibliothèque : Picxime, Guimers8 et Im@GinE. Dans ce cours complet, nous vous apprendrons progressivement comment créer et utiliser les différents objets de la bibliothèque et nous ferons quelques TPs qui devraient vous intéresser ! Si l'aventure GTK+ vous tente, pourquoi ne pas essayer, c'est facile et très intéressant ! Sommaire 3/54 www.siteduzero.com Le logo de GTK Partie 1 : Les bases de GTK Parce qu'il faut bien commencer par quelque part, cette partie posera les bases et quelques notions essentielles pour bien démarrer. Avant de se lancer... 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 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. V ive 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... Créez une interface avec GTK+ ! 4/54 www.siteduzero.com GTK a été portée en plus de 32 langages différents ? V ous 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 !? ) Sources et sites webs Site Officiel : www.gtk.org GNU : www.gnu.org LGPL: fr.wikipedia.org/LGPL Projet GNOME : www.gnomefr.org 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 gens d'incultes appellent (à tort) les applications GTK, fenêtres Linux ! V ous allez voir pourquoi : 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 ! Créez une interface avec GTK+ ! 5/54 www.siteduzero.com 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 ! V oici 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 ! Après cette brève présentation de la bibliothèque, vous savez maintenant ce qui vous attend. Si uploads/s3/ 3034-creez-une-interface-avec-gtk.pdf

  • 23
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager