如何将.txt文件内容放入文本字段

0 投票
1 回答
1881 浏览
提问于 2025-04-18 12:14

我正在尝试制作一个非常简单的记事本程序。我的唯一问题是想打开一个 .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从哪个位置开始插入文字的。

撰写回答