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
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 variablebe
después de cambiar el texto en el widget de Entrada. La variablebe
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í:Esto devolverá el valor actual del widget de Entrada, incluso si ha sido cambiado por el usuario.