file.write不会写入文件,但会写入普通文本-为什么会发生这种情况?

时间:2019-12-17 18:49:21

标签: python tkinter tk

ive测试了该代码,当您在file.write(self.info)中输入普通文本而不是self.info时,它可以工作。但是,如果您将其保留为self.entry,它将什么都不做。

    image = PhotoImage(file='C:/Users/plarkin2020334/Pictures/DQ_Logocp.png')
    def __init__(self, parent, *args, **kwargs):
        tkinter.Frame.__init__(self, parent, *args, **kwargs)
        Label(self, image=self.image).place(relx=0, rely=0, anchor=NW)
        Label(self, text="Enter any additional Instructiuons for the day:", background="#3f49e5").place(relx=.0, rely=.45)
        self.info = str()
        self.entry = tkinter.Entry(self, textvariable=self.info).place(relx=.0, rely=.51)
        Button(self, text="Add to Todays List", command=self.add_list).place(relx=.0, rely=.61)


    def add_list(self):
        file = open("List.txt", "w")
        file.write(self.info)
        file.close()```

1 个答案:

答案 0 :(得分:2)

您已经关闭。

const someHtml = (<p>Are you <b>sure</b>?</p>); 应该是tkinter.StringVar的实例。这与str不一样。这是tkinter小部件中使用的特殊值,它包含str的实例。

要获取StringVar内部的str,请调用其get()函数。

所以: 替换此行

self.info

具有:

self.info = str()

然后替换:

self.info = tkinter.StringVar()

具有:

file.write(self.info)