Mayfly-nymph
# -*- encoding:utf-8 -*-
import os
from Tkinter import *
from tkinter import messagebox

class CText:
    def __init__(self,master):
        self.master = master
        self.Menu()

    def WriteFunc(self):
        # 获取文本框中的内容,从0行下标0开始到结束
        self.content = self.textmodel.get(0.0,END)
        with open(self.fname, \'w\') as fobj:
            fobj.write(self.content.encode(\'utf-8\'))
            messagebox.showinfo(\'成功\',\'保存成功到文件\')
        fobj.close()

    def ReadFunc(self):
        self.fname = self.model.get()
        # 文件处理,如果文件不存在,就创建一个
        if not os.path.exists(self.fname):
            messagebox.showwarning(\'警告\',\'文件不存在,将自动创建文件!\')
        with open(self.fname, \'r\') as fobj:
            self.content = fobj.read()
        # 删除文本框中的内容
        self.textmodel.delete(0.0,END)
        # 插入读取到的内容
        self.textmodel.insert(END,self.content)
        fobj.close()

    def Menu(self):
        # 创建Entry组件
        self.model = Entry(self.master,relief=SUNKEN, font=(\'Arial\', 20),width=40)
        self.model.pack(side=TOP,pady=10)
        # 创建按钮
        Button(self.master,text=\'打开\',command=self.ReadFunc).pack(fill=X,expand=YES)
        Button(self.master,text=\'保存\',command=self.WriteFunc).pack(fill=X,expand=YES)
        self.textmodel = Text(self.master)
        self.textmodel.pack()

if __name__ == \'__main__\':
    root = Tk()
    root.title(\'文本编辑器\')
    CText(root)
    root.mainloop()

 

但是有个bug,只能显示utf-8编码文件的中文,其他都是乱码。

分类:

技术点:

相关文章:

  • 2021-11-05
  • 2022-02-20
  • 2021-04-13
  • 2021-12-15
  • 2021-11-24
  • 2021-04-04
  • 2021-10-12
猜你喜欢
  • 2021-12-07
  • 2021-12-18
  • 2022-01-02
  • 2021-09-02
  • 2021-08-01
  • 2022-12-23
相关资源
相似解决方案