Notre premier exemple est très simple. Il s’agit d’afficher dans une « fenêtre mère » ([GtkWindow| https://developer.gnome.org/gtk3/stable/GtkWindow.html]) un champ, dans lequel on peut y écrire ( »Cf. » @@entry-01.py@@).
Si l’on valide en pressant la touche __Entrée__, le texte s’affiche dans la console.
((/news-custom/public/exemples-gtk/exemple-01.png|Exemple 01 GtkEntry|C|Exemple 01 GtkEntry))
Pour l’exécuter, dans une console tapez simplement
///
olivier@chouffe:~ $ python entry-01.py
///
Dans l’exemple suivant, nous allons rajouté une nouvelle fonctionnalité, à savoir, permettre la possibilité de supprimer du texte précédemment entré.
Pour cela, on va utilisé la propriété [secondary-icon-stock|https://developer.gnome.org/gtk3/stable/GtkEntry.html#GtkEntry–secondary-icon-stock] (affiche une icône) à laquelle on connecte un évènement [icon-press|https://developer.gnome.org/gtk3/stable/GtkEntry.html#GtkEntry-icon-press] ( »Cf. » @@entry-02.py@@).
((/news-custom/public/exemples-gtk/exemple-02.png|Exemple 02 GtkEntry|C|Exemple 02 GtkEntry))
Lorsque l’on clique sur l’icône située à gauche, le contenu du champ est supprimé.
((/news-custom/public/exemples-gtk/exemple-02_b.png|Exemple 02 GtkEntry vide|C|Exemple 02 GtkEntry vide))
Dans l’exemple suivant, nous allons rajouté un [bouton|https://developer.gnome.org/gtk3/stable/GtkButton.html] (__GtkButton__) pour fermer la fenêtre. Il sera associé à l’évènement [clicked|https://developer.gnome.org/gtk3/stable/GtkButton.html#GtkButton-clicked] ( »Cf. » @@entry-03.py@@).
((/news-custom/public/exemples-gtk/exemple-03.png|Exemple 03 GtkEntry avec GtkButton|C|Exemple 03 GtkEntry avec GtkButton))
Dans ce quatrième exemple, nous allons rajouter un »widget » ([GtkLabel|https://developer.gnome.org/gtk3/stable/GtkLabel.html]) devant le formulaire ( »Cf. » @@entry-04.py@@).
((/news-custom/public/exemples-gtk/exemple-04.png|Exemple 04 GtkEntry avec GtkButton et GtkLabel|C|Exemple 04 GtkEntry avec GtkButton et GtkLabel))
Dans notre exemple le contenut du »label » est aligné à gauche, mais on peut en choisir un autre parmi la [liste|https://developer.gnome.org/gtk3/stable/gtk3-Standard-Enumerations.html#GtkJustification] :
* @@Gtk.Justification.LEFT@@
* @@Gtk.Justification.RIGHT@@
* @@Gtk.Justification.CENTER@@
* @@Gtk.Justification.FILL@@
En plus de jouer sur l’alignement du text, on peut également lui appliquer un style. Il faut pour cela utiliser la bibliothèque [Pango|https://developer.gnome.org/pango/stable/PangoMarkupFormat.html] ( »Cf. » @@entry-04_b.py@@).
((/news-custom/public/exemples-gtk/exemple-04_b.png|Exemple 04 GtkEntry avec GtkButton, GtkLabel et Pango markup|C|Exemple 04 GtkEntry avec GtkButton, GtkLabel et Pango markup))
Dans le dernier exemple, nous allons rajouter une info-bulle ([GtkTooltip|https://developer.gnome.org/gtk3/stable/GtkTooltip.html]) au survole du pointeur de la souris dans le champ (__GtkEntry__) quand il n’y a aucun texte ( »Cf. » @@entry-05.py@@).
((/news-custom/public/exemples-gtk/exemple-05.png|Exemple 05 GtkEntry avec GtkTooltip|C|Exemple 05 GtkEntry avec GtkTooltip))