validar validaciones solo numeros python events user-interface tkinter ttk

solo - validaciones en python



¿Tipo de evento de cambio de valor para widgets o uso de la técnica de.trace_variable()? (1)

¿Hay algún tipo de evento de cambio de valor para widgets de entrada de datos como Entrada, Texto, Giro, Botón de verificación, Botón de radio? Por on-value-change, me refiero a la capacidad de detectar cuándo ha cambiado el valor de un widget debido a la entrada del teclado o cortar / eliminar / pegar (y Text edit_undo / edit_redo) actividad? No veo ningún evento descrito en la documentación del evento de Tkinter [1].

¿Es la técnica adecuada para vincular las variables de Tkinter con los valores de widgets que deseo monitorear y usar estas variables ''.trace_variable ('' w '', ...) métodos para vincular los cambios de valores? Este parece ser el enfoque correcto, pero no he visto una gran cantidad de trace_variable () uso en el código fuente de la aplicación Tkinter que he estudiado ... lo que me lleva a ser cauteloso sobre el uso de este enfoque.

[1] http://infohost.nmt.edu/tcc/help/pubs/tkinter/events.html


Diferentes widgets requieren diferentes soluciones. Por ejemplo, los botones de verificación y los botones de radio tienen una opción de comando, y con un widget de entrada puede usar las funciones de validación incorporadas.

Para todos los widgets que pueden vincularse a una variable, hacer un seguimiento variable es una solución común. El widget de texto es una excepción ya que no puede asociarlo con una variable sin mucho esfuerzo.

En el mundo tcl / tk, asocio todos mis widgets a una única matriz (el nombre de tcl para un mapa / diccionario hash) y luego pongo un único rastro en la matriz. Desafortunadamente tkinter no es compatible directamente con las matrices tcl. Sin embargo, el soporte es algo fácil de hackear. Para obtener más información, consulte mi respuesta a esta pregunta: ¿Cómo ejecutar un código cada vez que cambia el valor de un widget Tkinter?