Buscar..


Sintaxis

  • entrada = tk.Entry ( padre , ** kwargs )
  • entry.get ()
  • entry.insert (índice, "valor")
  • entry.delete (start_index, end_index)
  • entry.bind (event, callback)

Parámetros

Parámetro Descripción
padre Los widgets tkinter existen en una jerarquía. A excepción de la ventana raíz, todos los widgets tienen un padre. Algunos tutoriales en línea llaman a esto "maestro". Cuando el widget se agregue a la pantalla con pack , place o grid , aparecerá dentro de este widget principal
anchura El ancho especifica el ancho deseado del widget basado en un ancho de caracteres promedio. Para fuentes de ancho variable, esto se basa en el ancho del carácter cero ( 0 ). El valor predeterminado es 20. Tenga en cuenta que el ancho real podría ser mayor o menor según cómo se agregue a la pantalla.

Observaciones

Estos ejemplos asumen que tkinter se ha importado con import tkinter as tk (python 3) o import Tkinter as tk (python 2).

Creación de un widget de entrada y configuración de un valor predeterminado

entry = tk.Entry(parent, width=10)
entry.insert(0, "Hello, World!")

Obtener el valor de un widget de entrada

El valor de un widget de entrada se puede obtener con el método get del widget:

name_entry = tk.Entry(parent)
...
name = name_entry.get()

Opcionalmente, puede asociar una instancia de StringVar y recuperar el valor de StringVar lugar de hacerlo desde el widget:

name_var = tk.StringVar()
name_entry = tk.Entry(parent, textvariable=name_var)
...
name = name_var.get()

Añadiendo validación a un widget de entrada

Para restringir los caracteres que se pueden escribir en un widget de entrada, solo números, por ejemplo, se puede agregar un comando de validación a la entrada. Un comando de validación es una función que devuelve True si se acepta el cambio, False contrario. Esta función se llamará cada vez que se modifique el contenido de la entrada. Se pueden pasar varios argumentos a esta función, como el tipo de cambio (inserción, eliminación), el texto insertado, ...

def only_numbers(char):
    return char.isdigit()

validation = parent.register(only_numbers)
entry = Entry(parent, validate="key", validatecommand=(validation, '%S'))

La opción de validate determina el tipo de evento que desencadena la validación, aquí, es cualquier pulsación de tecla en la entrada. El '%S' en la opción validatecommand significa que el carácter insertado o eliminado se pasa en argumento a la función only_numbers . La lista completa de posibilidades se puede encontrar aquí .

Obtención de int desde el widget de entrada

Al usar el método .get (), lo que sea que esté en el widget de entrada se convertirá en una cadena. Por ejemplo, independientemente del tipo de entrada (puede ser un número o una oración), el resultado resultante será una cadena. Si el usuario escribe 4, la salida será "4" como en una cadena. Para obtener un int desde un widget de entrada, primero llame al método .get ().

What_User_Wrote = Entry.get()

Ahora convertimos esa cadena en un int así:

Convert_To_Int = int(What_User_Wrote)

Del mismo modo, si quieres ahorrar tiempo puedes simplemente hacer:

Convert_To_Int = int(Entry.get())

Puede utilizar el método anterior si no desea convertir str a int.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow