使用StringVar()显示文件//Tkinter Python 3.5

使用StringVar()显示文件//Tkinter Python 3.5,python,file,tkinter,Python,File,Tkinter,在python的tkinter中,我创建了一个类似信息的文本编辑器,它使用StringVar()来显示一个文件,同时,通过使用entry和按钮,我创建了一个delete按钮,它删除了文件中的某一行。我遇到的问题是,文件没有删除指定的行,也没有更新以显示文件的内容。这是我的密码: from tkinter import * root = Tk() root.title("text") root.geometry("700x700") file = open(r"info.txt", "r")

在python的tkinter中,我创建了一个类似信息的文本编辑器,它使用
StringVar()
来显示一个文件,同时,通过使用entry和按钮,我创建了一个delete按钮,它删除了文件中的某一行。我遇到的问题是,文件没有删除指定的行,也没有更新以显示文件的内容。这是我的密码:

from tkinter import *

root = Tk()
root.title("text")
root.geometry("700x700")

file = open(r"info.txt", "r") 
lines = file.readlines()
file.close()

strd = StringVar()



def updatestr():
    fileread = open(r"info.txt", "r") 
    lines2 = fileread.readlines()
    strd.set("{}".format(lines2))
    root.after(1, updatestr)
    fileread.close()
updatestr()

lads = Label(root, textvariable=strd)
lads.pack()


blank = Label(root, text="")
blank.pack()
blank = Label(root, text="")
blank.pack()
blank = Label(root, text="")
blank.pack()

entry = Entry(root)
entry.configure(width=9)
entry.pack()

def DeleteEntry():
    global file
    file = open(r"info.txt", "w")
    global lines
    for line in lines:
        if line!="{}".format(entry.get())+"\n":
            file.write(line)
    file.close()

confent = Button(root, text="Delete", command=DeleteEntry)
confent.configure(width=7)
confent.pack()
我不知道为什么会发生这种情况,所以我非常感谢您的帮助:)
谢谢

忘了在底部添加mainloop(),不确定是否与您的错误有关,但您是否知道,方法之后的
的第一个参数以毫秒为单位?我的意思是,
foo.after(1,bar)
将每隔1毫秒调用
bar
。@Lafexlos是的,我知道这一点,因为我希望它每毫秒更新一次。