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

2024-10-02 20:34:47 发布

您现在位置:Python中文网/ 问答频道 /正文

在python的tkinter中,我创建了一个类似info的文本编辑器,它使用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()

不知道为什么会这样,所以我很感激你的帮助:) 谢谢


Tags: 文件textinfotxtcloserootopenlabel