elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Mantener ttk.Label en tiempo real
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Mantener ttk.Label en tiempo real  (Leído 3,125 veces)
DeMoNcRaZy


Desconectado Desconectado

Mensajes: 420


$~*|_


Ver Perfil
Mantener ttk.Label en tiempo real
« en: 19 Diciembre 2021, 18:39 pm »

Buenas,

Me gustaría saber si es posible mantener actualizado en tiempo real un ttk.Label con el texto que muestre.

Ya que lo tengo mostrando un mensaje de una base de datos externa (PyMysql) y me gustaría por ejemplo yo mismo desde la base de datos cambiar el mensaje y que se cambie en la ventana (label) sin tener que cerrar y abrir la aplicación (ventana) nuevamente.

O hace falta alguna librería en especial para mantener todo los datos que muestra en tiempo real.

Cualquier información adicional lo agradeceria.

Saludos.


En línea

Esta página web no está disponible - Google Chrome
.xAk.


Desconectado Desconectado

Mensajes: 397


F0r3v3R NeWbI3


Ver Perfil WWW
Re: Mantener ttk.Label en tiempo real
« Respuesta #1 en: 19 Diciembre 2021, 19:12 pm »

Sí que puedes, en respuesta a un evento. Ahora no estoy muy familiarizado, un ejemplo que puede te sirva y veo por ahí

Código
  1. from tkinter import Tk, Label
  2.  
  3. root = Tk()
  4. label = Label(root)
  5. label.pack()
  6. root.bind("<Motion>", lambda event: label.configure(text=f"{event.x}, {event.y}"))
  7. root.mainloop()

fuente

Saludos


En línea


DeMoNcRaZy


Desconectado Desconectado

Mensajes: 420


$~*|_


Ver Perfil
Re: Mantener ttk.Label en tiempo real
« Respuesta #2 en: 19 Diciembre 2021, 19:33 pm »

Buenas, gracias por su respuesta. Pero añadiendo el evento de dicha forma no me muestra siquiera los datos.

Yo lo que tengo es esto y va bien

Código
  1. root = Tk()
  2. root.title("Mostrar datos")
  3.  
  4. mainframe = ttk.Frame(root, padding="3 3 12 12")
  5. mainframe.grid(column=0, row=0, sticky=(N, W, E, S))
  6. root.columnconfigure(0, weight=1)
  7. root.rowconfigure(0, weight=1)
  8.  
  9.  
  10. ttk.Label(mainframe, text=results).grid(column=3, row=2, sticky=W)
  11.  
  12.  
  13.  
  14. root.mainloop()


La variable results, es la que muestra el mensaje de la base de datos, ese es la que quiero mantener en tiempo real, o toda la ventana, me da igual la cosa es que se actualice en tiempo real sin tener que reiniciar la aplicación
En línea

Esta página web no está disponible - Google Chrome
.xAk.


Desconectado Desconectado

Mensajes: 397


F0r3v3R NeWbI3


Ver Perfil WWW
Re: Mantener ttk.Label en tiempo real
« Respuesta #3 en: 19 Diciembre 2021, 19:52 pm »

ya te digo que estoy muy oxidado. Prueba a añadir un refresh de la "label" cuando le escribas los datos.

Saludos
En línea


EdePC
Moderador Global
***
Desconectado Desconectado

Mensajes: 2.160



Ver Perfil
Re: Mantener ttk.Label en tiempo real
« Respuesta #4 en: 20 Diciembre 2021, 02:26 am »

Depende de como se actualice tu base de datos, si lo haces desde el propio código python puedes simplemente mandar a actualizar el Label luego de hacer el cambio en la base de datos. Si la base de datos se actualiza independientemente a tu código python entonces puedes crear una función que se repita cada cierto tiempo, vaya a buscar el valor en la base de datos y actualice el Label

Código
  1. from tkinter import *
  2.  
  3. class App() :
  4.  def __init__(self) :
  5.    self.win = Tk()
  6.    self.num = 0
  7.    self.lbl = Label(self.win, text=self.num)
  8.    self.lbl.pack()
  9.    self.updater()
  10.    self.win.mainloop()
  11.  
  12.  def updater(self) :
  13.    self.num += 1
  14.    self.lbl.configure(text=self.num)
  15.    self.win.after(1000, self.updater)
  16.  
  17. App()

Por ejemplo este código tiene la función Updater que usa .after para ejecutarse a sí mismo cada 1000 milisegundos, dicha función actualiza (.configure) el texto del Label
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
java tiempo real
Sugerencias y dudas sobre el Foro
alfredobolson 1 2,657 Último mensaje 20 Octubre 2004, 22:48 pm
por Karcsi
Video en tiempo real
Programación Visual Basic
RJ-45 8 5,814 Último mensaje 17 Enero 2006, 05:01 am
por Krnl64
Así es cómo "perdemos" el tiempo en internet en tiempo real
Noticias
wolfbcn 0 2,884 Último mensaje 3 Junio 2014, 18:14 pm
por wolfbcn
Proteccion en tiempo real?
Dudas Generales
Facundo zuretti 4 3,066 Último mensaje 4 Julio 2015, 04:13 am
por Facundo zuretti
Mantener TODA la información a tiempo de real de mi movil
Hacking Mobile
Legwion 3 3,675 Último mensaje 8 Septiembre 2016, 21:28 pm
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines