如何将.txt文件内容放入文本字段
我正在尝试制作一个非常简单的记事本程序。我的唯一问题是想打开一个 .txt
文件,并把里面的内容放到主文本框里。但是我总是遇到错误。
from Tkinter import *
import tkFileDialog
class Application(Frame):
def __init__(self, master):
Frame.__init__(self,master)
self.grid()
self.Create_Widgets()
def Create_Widgets(self):
self.SButton = Button(self,width=35)
self.SButton["text"]="Save"
self.SButton["command"]=self.Save
self.SButton.grid(row=0,column=0)
self.OButton = Button(self,width=35)
self.OButton["text"]="Open"
self.OButton["command"]=self.Open
self.OButton.grid(row=0,column=1)
self.Cont = Text(self,width=60,height=40)
self.Cont.grid(row=1,column=0,columnspan=2)
def Save(self):
Content=self.Cont.get(1.0,END)
File = tkFileDialog.asksaveasfile(mode='w', defaultextension=".txt")
File.write(Content)
File.close()
def Open(self):
Content=self.Cont.get(0.0,END)
File1 = tkFileDialog.askopenfilename()
File2 = open(File1,"r")
print(File2.read())
root=Tk()
root.title="Basic Notepad"
app=Application(root)
root.mainloop()
1 个回答
1
你可以使用 Tkinter.Text.insert
方法把文件里的文字放进文本框里:
def Open(self):
File1 = tkFileDialog.askopenfilename()
File2 = open(File1, "r")
#######################################
self.Cont.insert("1.0", File2.read())
#######################################
File2.close() # Make sure you close the file when done
这里的 "1.0"
是告诉Python从哪个位置开始插入文字的。