Tkinter UI de python 3.x, ayuda con Entry

Iniciado por royer14, 8 Noviembre 2017, 03:56 AM

0 Miembros y 1 Visitante están viendo este tema.

royer14

Hola a Todos, como veran tengo dificultades con el siguiente codigo, este codigo esta validado a solamente numeros y el punto, el objeetivo es obtener los valores de
entry  y entrada

es con el fin de hacer una calculadora
Código (python) [Seleccionar]

from tkinter import *
def Suma():
          sum=int(int(entry.get())+int(entrada2.get())) #en esta parte sale error
          Label(root,text=sum).pack()
def validate(char, entry_value):
          if char in '1234567890.':     #esto es para validar solo numeros escritos aqui
              return True
          else:
              print('invalid: {s}'.format(s = char))
              return False
def validate2(char, entry_value):
          if char in '1234567890.':
               return True
          else:
              print('invalid: {s}'.format(s = char))
              return False

root = Tk()
vcmd = (root.register(validate), '%S', '%P')
entry = Entry(root, validate = 'key', validatecommand = vcmd)
entry.pack()
vcmd1 = (root.register(validate2), '%S', '%P')
entrada2 = Entry(root, validate='key',validatecommand =vcmd1).pack()
boton = Button(root,text="+",command= Suma ).pack()
root.mainloop()

El problema que tengo es, como obtengo el valor de "entry" y "entrada2", pueden ayudarme?

tincopasan

cambia esta linea:
Código (python) [Seleccionar]
entrada2 = Entry(root, validate='key',validatecommand =vcmd1).pack()
por
Código (python) [Seleccionar]
entrada2 = Entry(root, validate='key',validatecommand =vcmd1)
entrada2.pack()

exactamente igual que la entrada anterior.
si una anda ¿por qué no hacer la otra igual, si de otra forma no te anda?, en este caso me refiero a la declaración que usas de los Entry

royer14

me funciona, excelente respuesta, y mi error fue muy tonto, muchas gracias "tincopasan"