使用StringVar()显示文件//Tkinter Python 3.5
在python的tkinter中,我创建了一个类似信息的文本编辑器,它使用使用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")
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是的,我知道这一点,因为我希望它每毫秒更新一次。