Foros del Web » Programando para Internet » Python »

Mostrar datos en Tkinter

Estas en el tema de Mostrar datos en Tkinter en el foro de Python en Foros del Web. Buenos dias, estoy empezando a trabajar con Tkinter, tengo una consulta y rogaría ayuda. Quiero mostrar un valor producido por un cálculo en pantalla, he ...
  #1 (permalink)  
Antiguo 16/02/2011, 05:36
 
Fecha de Ingreso: diciembre-2010
Ubicación: Mallorca
Mensajes: 139
Antigüedad: 13 años, 11 meses
Puntos: 3
Mostrar datos en Tkinter

Buenos dias, estoy empezando a trabajar con Tkinter, tengo una consulta y rogaría ayuda.
Quiero mostrar un valor producido por un cálculo en pantalla, he probado como mostrar un valor fijo (abajo se puede ver, en c20.set("28") y funciona...
Mi pregunta es ¿como puedo sustituir "28" por un campo calculado por programa?,

c20 = StringVar()
c20.set("28")
self.valor_c20=Label(self.myContainer3, textvariable=c20)
self.valor_c20.pack(side="right")

gracias.
  #2 (permalink)  
Antiguo 16/02/2011, 09:59
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Mostrar datos en Tkinter

Código Python:
Ver original
  1. from Tkinter import *
  2.  
  3. master = Tk()
  4. e = Entry(master)
  5. e.pack()
  6. e.focus_set()
  7. def callback():
  8.     print e.get()
  9. b = Button(master, text="get", width=10, command=callback)
  10. b.pack()
  11. mainloop()
  #3 (permalink)  
Antiguo 16/02/2011, 10:17
 
Fecha de Ingreso: diciembre-2010
Ubicación: Mallorca
Mensajes: 139
Antigüedad: 13 años, 11 meses
Puntos: 3
Respuesta: Mostrar datos en Tkinter

Gracias Razpeitia..., pero tal vez no me he explicado bien, lo que necesito es que un dato que viene de una lectura de un registro de una base de datos se muestre(visualice) en pantalla con TKinter.
No se si me explico bien...

c20 = StringVar()
c20.set("28")
self.valor_c20=Label(self.myContainer3, textvariable=c20)
self.valor_c20.pack(side="right")

en este ejemplo se visualiza el valor de c20, correcto, pero ¿como sustituir c20 por el valor que he leido de una base de datos?.

Gracias.
  #4 (permalink)  
Antiguo 16/02/2011, 11:30
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Mostrar datos en Tkinter

En ese caso solo haces un.
Código:
c20.set("Registro: %s" % registro)
  #5 (permalink)  
Antiguo 16/02/2011, 13:03
 
Fecha de Ingreso: diciembre-2010
Ubicación: Mallorca
Mensajes: 139
Antigüedad: 13 años, 11 meses
Puntos: 3
Respuesta: Mostrar datos en Tkinter

Una duda, ¿ % registro..., debe ser el nombre del campo que he leido de la base de datos?.
  #6 (permalink)  
Antiguo 16/02/2011, 16:21
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Mostrar datos en Tkinter

No registro debe de ser "el registro que sacaste de la base de datos"

Si puedas poner un poco del código que estas haciendo te podría ayudar mas fácil.
En este simple programa, dice que debería ser registro.
Código Python:
Ver original
  1. import MySQLdb
  2.  
  3. conn = MySQLdb.connect (host = "localhost",
  4.                         user = "testuser",
  5.                         passwd = "testpass",
  6.                         db = "test")
  7. cursor = conn.cursor ()
  8. cursor.execute ("SELECT * from table")
  9. registros = cursor.fetchall()
  10. for registro in registros:
  11.     print registro
  12. cursor.close()
  13. conn.close()
  #7 (permalink)  
Antiguo 17/02/2011, 02:45
 
Fecha de Ingreso: diciembre-2010
Ubicación: Mallorca
Mensajes: 139
Antigüedad: 13 años, 11 meses
Puntos: 3
Respuesta: Mostrar datos en Tkinter

Gracias..., paso un ejemplo más claro, lo que quiero visualizar son algunos de los campos leidos de un registro de la base de datos (ver abajo dato1, dato2, dato3...)
cur =cn.cursor()
cur.execute("SELECT * from tabla_60 WHERE sesentaminutos = %s", (relacio,))
filas = cur.fetchall()
if filas:
for fila in filas:
dato1, dato2, dato3 = fila

el problema que tengo, es como indicarlo en Label...

c20 = StringVar()
c20.set("28")
self.valor_c20=Label(self.myContainer3, textvariable=c20)
self.valor_c20.pack(side="right")
  #8 (permalink)  
Antiguo 17/02/2011, 03:39
 
Fecha de Ingreso: diciembre-2010
Ubicación: Mallorca
Mensajes: 139
Antigüedad: 13 años, 11 meses
Puntos: 3
Respuesta: Mostrar datos en Tkinter

Disculpas, ya lo resolvi, añado la solución por si alguien lo puede aprovechar...
Es tan sencillo como poner la variable en c20.set(valor)

valor=20
c20 = StringVar()
c20.set(valor)
self.valor_c20=Label(self.myContainer3, textvariable=c20)
self.valor_c20.pack(side="right")

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:02.