我正在使用tkinter创建一个文本编辑器,但是当文件被保存时,标签消失了。 这是保存文件,打开文件和标记功能的代码。我读到为了保留标记,我应该使用dump(),但是我不知道将其放置在何处或如何工作。它应该在这三个功能之一中吗?以及如何将其连接到他们的内容?:
def open_file(self):
open_return=filedialog.askopenfile(initialdir="/",title='Select File to open',filetypes= (("text files","*.txt"),("all files","*.*")))
if (open_return !=None):
self.text_area.delete(1.0,END)
for line in open_return:
self.text_area.insert(END,line)
self.__file=open_return.name
open_return.close()
def save_file(self):
if self.__file== None:
# Save as new file
self.__file = filedialog.asksaveasfilename(initialfile='Untitled.txt',defaultextension=".txt",filetypes=[("All Files","*.*"),("Text Documents","*.txt")])
if self.__file == "":
self.__file = None
else:
file = open(self.__file,"w")
file.write(self.text_area.get(1.0,END))
file.close()
self.master.title(os.path.basename(self.__file) + " - Notes")
else:
file = open(self.__file,"w")
file.write(self.__thisTextArea.get(1.0,END))
file.close()
def OnGreen(self):
#With this function I highlight the selected text
current_tags = self.text_area.tag_names("sel.first")
if "p" in current_tags:
self.text_area.tag_remove("p","sel.first","sel.last")
else:
self.text_area.tag_add("p","sel.last")
self.text_area.tag_config("p",background="green",foreground="white")