Python - Pasar de un Entry a otro automáticamente

 
Vista:
sin imagen de perfil
Val: 17
Ha disminuido su posición en 5 puestos en Python (en relación al último mes)
Gráfica de Python

Pasar de un Entry a otro automáticamente

Publicado por Antonio (6 intervenciones) el 09/02/2021 18:54:39
Empecé a ver hace poco Python y por ahora estoy viendo lo que se refiere a realizar un aplicativo de escritorio.
Así que estoy viendo tkinter y sus controles. Tengo 2 controles Entry, que permite el ingreso de números solamente
y hasta una determinada cantidad, ej.:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from tkinter import *
 
def is_valid_char(char,cTxt):
    return char in "0123456789" and len(cTxt) <= 5
 
v1=Tk()
v1.geometry("500x400")
v1.title("Entry sólo números")
validaingreso = v1.register(is_valid_char)
 
txt1=Entry(v1,validate="key", validatecommand=(validaingreso, "%S","%P"),width=15)
txt1.place(x=10,y=10)
txt2=Entry(v1,validate="key", validatecommand=(validaingreso, "%S","%P"),width=15)
txt2.place(x=10,y=40)
v1.mainloop()

Gran parte de este ejemplo lo copié de internet, adaptándolo a lo que necesitaba.
Esto funciona bien para ingresar sólo números y hasta 5 dígitos, me falta que pase automáticamente una vez que se
completó la cantidad de dígitos, por ej. si en txt1 digito:

01234

al terminar de escribir el 4 automáticamente debería pasar a txt2 y de manera similar si hago algo parecido en txt2.

Antonio
Sistemas
Resipol
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Pasar de un Entry a otro automáticamente

Publicado por tincopasan (1082 intervenciones) el 10/02/2021 08:57:41
para no modificar tu código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#-*- coding: utf -8 -*-
 
from tkinter import *
contador = 0
 
def is_valid_char(char,cTxt):
    return char in "0123456789" and len(cTxt) <= 5
 
def tecla(event):
    global contador
    key = event.char
    if key in "0123456789":
        contador+=1
    if contador == 5:
        event.widget.tk_focusNext().focus()
        contador = 0
 
 
v1=Tk()
v1.geometry("500x400")
v1.title("Entry sólo números")
validaingreso = v1.register(is_valid_char)
 
txt1=Entry(v1,validate="key", validatecommand=(validaingreso, "%S","%P"),width=15)
txt1.place(x=10,y=10)
txt1.bind('<Key>', tecla)
txt2=Entry(v1,validate="key", validatecommand=(validaingreso, "%S","%P"),width=15)
txt2.place(x=10,y=40)
v1.mainloop()

lo que falte agregalo vos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 17
Ha disminuido su posición en 5 puestos en Python (en relación al último mes)
Gráfica de Python

Pasar de un Entry a otro automáticamente

Publicado por Antonio (6 intervenciones) el 10/02/2021 12:35:19
Muchas Gracias, funcionó perfecto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar