Tkinter:如何使 tkinter 文本小部件更新?

dou*_*use 4 tkinter python-3.x

我对这个网站和 python 都很陌生,所以请原谅我凌乱的代码。我正在尝试用 python 制作一种带有 Tkinter 界面的即时通讯工具。我的学校有一个网络,如果以正确的权限保存在正确的区域,人们可以在该网络上交换文件并编辑其他人的文件。

我已经弄清楚了大部分内容,该程序可以保存到文本文件并读取它,但是,包含文本的文本小部件不会自行更新,并且所有使其这样做的尝试都惨败。任何帮助将不胜感激,因为我似乎无法弄清楚。

from tkinter import *

master = Tk()
master.geometry("300x200")
e = Entry(master)
e.pack()


def callback():
    f = open("htfl.txt","a")
    f.write(e.get())
    print (e.get())

b = Button(master, text="get", width=10, command=callback)

b.pack()



file = open("htfl.txt","r") #opens file

#print(file.read(1))
a = file.read()
b = file.read()
print(file.read())

T = Text(master, height=9, width=30)
T.insert(END,a)
T.pack()

def update():
    T.insert(END,a)
    T.after(1000, update)

T.after(1000, update)



mainloop()
Run Code Online (Sandbox Code Playgroud)

Bry*_*ley 5

每次要更新小部件时,您都必须重新读取该文件。例如:

def update():
    with open("htfl.txt","r") as f:
        data = f.read()
        T.delete("1.0", "end")  # if you want to remove the old data
        T.insert(END,data)
    T.after(1000, update)
Run Code Online (Sandbox Code Playgroud)