Entry (Python) Marta Maria Casetti 2012 Sebastian Pölsterl sebp@k-d-w.org 2011 Un campo de entrada de texto de una sola línea Daniel Mustieles daniel.mustieles@gmail.com 2011 - 2017 Nicolás Satragno nsatragno@gmail.com 2012 - 2013 Jorge González jorgegonz@svn.gnome.org 2011 Entry

Esta aplicación le saluda en la terminal con el nombre que le indique.

Código usado para generar este ejemplo 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étodos útiles para un widget «Entry»

En la línea 14 la señal «activate» se conecta a la función de retorno de llamada cb_activate() usando widget.connect(señal, función de retorno de llamada). Consulte la para obtener una explicación más detallada. Algunas de las señales que un widget «Gtk.Entry» puede emitir son: «activate» (cuando el usuario pulsa la tecla «Intro»); «backspace» (cuando el usuario pulsa las teclas «Retroceso» o «Mayús-Retroceso»); «copy-clipboard» («Ctrl-C» y «Ctrl-Insert»); «paste-clipboard» («Ctrl-V» o «Mayús-Insert»); «delete-from-cursor» («Suprimir», para borrar un carácter; «Ctrl-Suprimir», para borrar una palabra); «icon-press» (cuando el usuario pulsa un icono activable); «icon-release» (cuando el botón del ratón se suelta sobre un icono activable); «insert-at-cursor» (cuando el usuario inicia la inserción de una cadena fija en el cursor); «move-cursor» (cuando el usuario inicia un movimiento del cursor); «populate-popup» (antes de mostrar el menú contextual de una entrada; puede usarse para añadirle elementos).

get_buffer() y set_buffer(búfer) donde búfer es un objeto «Gtk.EntryBuffer», pueden usarse para obtener y establecer el búfer de la entrada.

get_text() y set_text("texto") pueden usarse para obtener y establecer el contenido de la entrada.

get_text_length() obtiene la longitud del texto.

get_text_area() obtiene el área en la que se dibuja el texto de la entrada.

Si se establece set_visibility(False), los caracteres en la entrada se muestran como caracteres invisibles. Esto es el mejor disponible en la tipografía actual, pero puede cambiarse con set_invisible_char(ch), donde ch es un carácter Unicode. El último método se revierte con unset_invisbile_char().

set_max_length(int), donde int es un entero, trunca todas las entradas más largas que int para tener la longitud máxima deseada.

De manera predeterminada, si presiona la tecla «Intro», el «Gtk.Entry» emite la señal «activate». Si quisiera activar el widget predeterminado de la ventana (establecido usando set_default(widget) en la ventana), entonces use set_activates_default(True).

Para poner un marco alrededor de la entrada: set_has_frame(True).

set_placeholder_text("texto") establece el texto que mostrar en la entrada cuando esté vacía y sin foco.

set_overwrite_mode(True) y set_overwrite_mode(False) activa o desactiva el modo de sobreescritura.

Si tiene set_editable(False) el usuario no puede editar el texto en el widget.

set_completion(completado), donde completado es un Gtk.EntryCompletion, configura el completado; o lo desactiva si completado es None.

Un widget de entrada puede mostrar progreso o información de actividad detrás del texto. Se usa set_progress_fraction(fracción), donde fracción es un float entre 0.0 y 1.0 inclusive, para llenar la fracción dada de la barra. Se usa set_progress_pulse_step() para establecer la fracción de la anchura total de la entrada para mover el bloque que rebota por cada llamada a progress_pulse(). El último método indica que se realizó algún progreso, y hace que el indicador de progreso de la entrada entre al «modo de actividad», en el que un bloque rebota hacia adelante y atrás. Cada llamada a progress_pulse() hace que el bloque se mueva un poco (la cantidad de movimiento por pulso la determina, como se dijo anteriormente, set_progress_pulse_step()).

Una entrada también puede mostrar iconos. Estos pueden activarse cuando se pulsan, configurarse para arrastrarse, y tener consejos. Para añadir un icono, use set_icon_from_stock(posición_icono, id_almacén), set_icon_from_pixbuf(posición_icono, pixbuf), o set_icon_from_icon_name(posición_icono, nombre_icono), donde posición_icono puede ser Gtk.EntryIconPosition.PRIMARY (para poner el icono al principio de la entrada) o Gtk.EntryIconPosition.SECONDARY (para poner el icono al final de la entrada). Para ponerle un consejo a un icono, use set_icon_tooltip_text("texto del consejo") o set_icon_tooltip_markup("texto del consejo en el lenguaje de marcado Pango").

Referencias de la API

En este ejemplo se usa lo siguiente:

GtkEntry