Entry (Python) Marta Maria Casetti 2012 Sebastian Pölsterl sebp@k-d-w.org 2011 Un champ de saisie de texte sur une ligne Luc Rebert, traduc@rebert.name 2011 Alain Lojewski, allomervan@gmail.com 2011-2012 Luc Pionchon pionchon.luc@gmail.com 2011 Bruno Brouard annoa.b@gmail.com 2011-12 Luis Menina liberforce@freeside.fr 2014 Entrée

Cette application vous accueille dans le terminal avec le nom que vous fournissez.

Code utilisé pour générer cet exemple from gi.repository import Gtk import sys class MyWindow(Gtk.ApplicationWindow): def __init__(self, app): Gtk.Window.__init__(self, title="What is your name?", application=app) self.set_default_size(300, 100) self.set_border_width(10) # a single line entry name_box = Gtk.Entry() # emits a signal when the Enter key is pressed, connected to the # callback function cb_activate name_box.connect("activate", self.cb_activate) # add the Gtk.Entry to the window self.add(name_box) # the content of the entry is used to write in the terminal def cb_activate(self, entry): # retrieve the content of the widget name = entry.get_text() # print it in a nice form in the terminal print("Hello " + name + "!") class MyApplication(Gtk.Application): def __init__(self): Gtk.Application.__init__(self) def do_activate(self): win = MyWindow(self) win.show_all() def do_startup(self): Gtk.Application.do_startup(self) app = MyApplication() exit_status = app.run(sys.argv) sys.exit(exit_status)
Méthodes utiles pour un élément graphique Entrée

In line 14 the signal "activate" is connected to the callback function cb_activate() using widget.connect(signal, callback function). See for a more detailed explanation. Some of the signals that a Gtk.Entry widget can emit are: "activate" (emitted when the user activates the Entry key); "backspace" (emitted when the user activates the Backspace or Shift-Backspace keys); "copy-clipboard" (Ctrl-c and Ctrl-Insert); "paste-clipboard" (Ctrl-v and Shift-Insert); "delete-from-cursor" (Delete, for deleting a character; Ctrl-Delete, for deleting a word); "icon-press" (emitted when the user clicks an activatable icon); "icon-release" (emitted on the button release from a mouse click over an activatable icon); "insert-at-cursor" (emitted when the user initiates the insertion of a fixed string at the cursor); "move-cursor" (emitted when the user initiates a cursor movement); "populate-popup" (emitted before showing the context menu of the entry; it can be used to add items to it).

Les méthodes get_buffer() et set_buffer(tampon), où tampon est un objet Gtk.EntryBuffer, peuvent être utilisées pour obtenir et définir le tampon de l'entrée.

Les fonctions get_text() et set_text("some text") peuvent être utilisées pour obtenir et définir le contenu de l'entrée.

La méthode get_text_length() parle d'elle-même.

La méthode get_text_area() obtient la position où le texte de l'entrée est dessiné.

If we set set_visibility(False) the characters in the entry are displayed as the invisible char. This is the best available in the current font, but it can be changed with set_invisible_char(ch), where ch is a Unicode character. The latter method is reversed by unset_invisible_char().

La méthode set_max_length(int), où int est un nombre entier, coupe chaque entrée plus longue que int afin d'obtenir la longueur maximum désirée.

Par défaut, si vous appuyez sur la touche Entrée, Gtk.Entry émet le signal "activate". Si vous préférez activer l'élément graphique par défaut de la fenêtre (défini par la méthode set_default(widget) pour la fenêtre), utilisez alors set_activates_default(True).

Pour définir un cadre autour de l'entrée, utilisez la méthode set_has_frame(True).

La méthode set_placeholder_text(« texte ») définit le texte pour qu'il s'affiche dans l'entrée quand il est vide et inactif.

Les méthodes set_overwrite_mode(True) et set_overwrite_mode(False) parlent d'elles-mêmes.

La méthode set_editable(False) n'autorise pas l'utilisateur à modifier le texte dans l'élément graphique.

set_completion(completion), where completion is a Gtk.EntryCompletion, sets completion - or disables it if completion is None.

Un élément graphique Entry peut afficher la progression ou les informations d'activité derrière le texte. La méthode set_progress_fraction(fraction), où fraction est un nombre flottant float compris entre 0.0 et 1.0 inclus, sert à remplir la fraction définie de la barre de progression. La méthode set_progress_pulse_step() définit la fraction de la largeur totale de l'entrée qui va se remplir d'un bloc à chaque appel à progress_pulse(). Cette dernière fonction indique qu'une progression est en cours et passe l'indicateur de progression sur "activity mode", ce qui fait avancer ou reculer un bloc. Chaque appel à progress_pulse() fait un petit peu bouger le bloc (l'amplitude du mouvement par pulsation est définie par set_progress_pulse_step()), comme expliqué précédemment.

Un élément graphique Entry peut aussi afficher des icônes. Ces icônes sont activables d'un clic de souris, ou peuvent être définies comme étant la source d'un élément glissable et comporter des infobulles. Pour ajouter une icône de la collection, utilisez la méthode set_icon_from_stock(icon_position, stock_id), ou bien l'une des méthodes suivantes : set_icon_from_pixbuf(icon_position, pixbuf) ; set_icon_from_icon_name(icon_position, icon_name), où icon_position est l'une des deux positions Gtk.EntryIconPosition.PRIMARY (pour positionner l'icône au début de l'entrée) ou Gtk.EntryIconPosition.SECONDARY (pour positionner l'icône à la fin de l'entrée). Pour ajouter une infobulle à une icône, utiliser l'une des deux fonctions set_icon_tooltip_text("tooltip text") ou set_icon_tooltip_markup("tooltip text in Pango markup language").

Références API

Dans cet exemple, les éléments suivants sont utilisés :

GtkEntry