我有一个文本文件,其中包含四行逐字。例如:假设:
cat
mat
rat
hat
我想在Entry小部件中显示这些单词。喜欢" cat"在第一个Entry小部件中," mat"在第二个Entry小部件中等等。现在,如果我更新任何Entry小部件的内容,那么它也应该在文本文件中自动更新。我写了一些代码来显示Entry小部件但是之后我没有得到如何实现这个?
from tkinter import *
top = Tk()
with open('C:/Users/jaykr/Desktop/data.txt') as file:
data = file.read().split("\n")
for i in range(len(data)):
Entry(top).grid(row=i, column=0)
top.mainloop()
答案 0 :(得分:1)
您可以利用tkinter的StringVar
variable class及其trace()
方法。这是一个MCVE:
import tkinter as tk
root = tk.Tk()
entry_var = tk.StringVar()
entry = tk.Entry(root, width=10, textvariable=entry_var)
entry.pack()
def autoupdate(*args):
with open('test.txt', 'w') as f:
f.write(entry_var.get())
entry_var.trace('w', autoupdate)
root.mainloop()