Tkinter 条目未更新

Tkinter Entry Not Updating

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

root = Tk()
root.title("To-do List")
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") # Balance Entry Text
be = Entry(root, width=20, font="Helvetica 10", borderwidth=2, bg="#f0f0f0") # Balance Entry
be.insert(0, "Amount in USD")
settings_main_canvas.create_window(170, 165, window=be, anchor=W)



# Text
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="{} / {} Complete".format(len(inbox_finished_tasks), len(inbox_tasks_num)), font="TimesNewRoman 9", anchor=NW)
root.mainloop()

我不知道为什么,但是当我打印 be.get() 它总是 returns 我插入的值,即使我更改了条目中的文本

发生这种情况的原因是,在您可以编辑条目中的文本之前,balance 已经创建并且不会不断更新。所以 balance 中的文本不会更新。

编辑:

您可以执行以下操作(随意编辑变量名称、自定义变量和编辑函数):

from tkinter import *

root = Tk()

#Defining the update label function
def updateLbl():
    lbl.config(text=enter.get())

    root.after(1000, updateLbl)

enter = Entry(root)
enter.pack()
enter.insert(0, "text")

lbl = Label(root)
lbl.pack()

#calling the function
updateLbl()

root.after(1000, updateLbl)

root.mainloop()