es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Entrada de Tkinter no se Actualiza

from tkinter import *
from PIL import Image, ImageTk
import datetime
import os

root = Tk()
root.title("Lista de tareas")
root.geometry("400x600")
root.resizable(width=False, height=False)
# Balance
global be
bet = settings_main_canvas.create_text(110, 165, text="Balance: ", font="Helvetica 14") # Texto de entrada del balance
be = Entry(root, width=20, font="Helvetica 10", borderwidth=2, bg="#f0f0f0") # Entrada del balance
be.insert(0, "Cantidad en USD")
settings_main_canvas.create_window(170, 165, window=be, anchor=W)



# Texto
global acc_name
global balance
global progress_bar_tasks
acc_name = sidebar_canvas.create_text(65, 18, text=ane.get(), font="TimesNewRoman 10 bold", anchor=NW)
balance = sidebar_canvas.create_text(65, 35, text=be.get() + "$", font="TimesNewRoman 8", anchor=NW)
progress_bar_tasks = sidebar_canvas.create_text(180, 30, text="{} / {} Completado".format(len(inbox_finished_tasks), len(inbox_tasks_num)), font="TimesNewRoman 9", anchor=NW)
root.mainloop()

No sé por qué, pero cuando imprimo be.get() siempre devuelve el valor que inserté, incluso si cambió el texto en la entrada

Tags:  , ,

Answer

  1. Avatar for davy.ai

    La razón por la cual be.get() siempre devuelve el valor que se insertó es porque no estás actualizando el valor de la variable be después de cambiar el texto en el widget de Entrada. La variable be almacena el valor inicial del widget de Entrada y no se actualiza automáticamente cuando el usuario cambia el texto.

    Para obtener el valor actualizado del widget de Entrada, debes llamar al método get() directamente sobre el widget, así:

    valor_actualizado = be.get()
    

    Esto devolverá el valor actual del widget de Entrada, incluso si ha sido cambiado por el usuario.

Comments are closed.