我测试了代码,当你只输入正常的文本到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()```
问题来源StackOverflow 地址:/questions/59380364/file-write-wont-write-to-the-file-but-normal-text-will-why-is-this-happening
你关闭。 self.info应该是tkint . stringvar的一个实例。这和str不一样。它是一个用于tkinter窗口小部件的特殊值,它包含一个str实例。 要获取StringVar中的str,请调用它的get()函数。 所以: 更换这条线
self.info = str()
:
self.info = tkinter.StringVar()
和替换:
file.write(self.info)
:
file.write(self.info.get())
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。