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()
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()