Saber si un Entry es mayor que otro pero sino...
Publicado por Antonio (6 intervenciones) el 19/02/2021 18:21:59
Cree la siguiente clase basada en un ejemplo anterior, que ya habia publicado en este foro.La clase permite el ingreso de 2 números de 1 dígito:
Esto muestra 2 controles Entry que permiten ingresar 1 número de 1 dígito. Lo que necesito es que si, posicionado en el Entry 2 (txt2), ingreso un valor que es menor que el del Entry1 (txt1), no me deje pasar al otro control, en este caso el Button. ¿ Como tendría que hacer?
Antonio
Sistemas
Resipol
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
30
31
32
33
34
35
36
37
38
39
40
41
from tkinter import *
class IngresoNumero():
def __init__(self,root,posx,posy):
self.root = root
self.posx=posx
self.posy=posy
self.cantidad = 1
self.contador = 0
self.validanumero = root.register(self.solonumeros)
self.txt = Entry(root, width=5, validate = "all", validatecommand = (self.validanumero, "%S", "%P", "%W", "%V"))
self.txt.bind('<Key>', self.validaentry)
self.txt.place(x=self.posx, y=self.posy)
self.txt.bind('<Key>', self.validaentry)
self.txt.place(x=self.posx, y=self.posy)
def solonumeros(self,char,valor,widget,tipo):
return char in "0123456789" and len(valor)<=1
def validaentry(self,event):
key = event.char
keysym = event.keysym
if key == keysym and key in "0123456789":
self.contador += 1
if self.contador == self.cantidad:
self.txt.tk_focusNext().focus()
self.contador = 0
v1=Tk()
v1.geometry("500x500")
v1.title("Prueba")
txt1=IngresoNumero(v1,10,10)
txt2=IngresoNumero(v1,10,40)
btn=Button(v1,text="Salir",width=10,command=v1.destroy)
btn.place(x=10,y=70)
v1.mainloop()
Esto muestra 2 controles Entry que permiten ingresar 1 número de 1 dígito. Lo que necesito es que si, posicionado en el Entry 2 (txt2), ingreso un valor que es menor que el del Entry1 (txt1), no me deje pasar al otro control, en este caso el Button. ¿ Como tendría que hacer?
Antonio
Sistemas
Resipol
Valora esta pregunta


0