Test Foro de elhacker.net SMF 2.1

Programación => Scripting => Mensaje iniciado por: royer14 en 8 Noviembre 2017, 03:56 AM

Título: Tkinter UI de python 3.x, ayuda con Entry
Publicado por: royer14 en 8 Noviembre 2017, 03:56 AM
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?
Título: Re: Tkinter UI de python 3.x, ayuda con Entry
Publicado por: tincopasan en 8 Noviembre 2017, 10:23 AM
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
Título: Re: Tkinter UI de python 3.x, ayuda con Entry
Publicado por: royer14 en 8 Noviembre 2017, 13:38 PM
me funciona, excelente respuesta, y mi error fue muy tonto, muchas gracias "tincopasan"
(http://www.mediafire.com/convkey/88a0/9197peo75095vd87g.jpg)