下面的python代码实现了一个简单的文本编辑器,可以实现编辑加载和保存操作。
真个界面是实用wxpython来构建的。wxpython是一个GUI图形界面的库。允许Python程序员很方便的创建完整的、功能键全的GUI用户界面。
另外这个文本编辑器还有些不足,包括利用os.exists()来新建文件,但是对已创建的文件效果是可以的。我将在下一代文本编辑器增加各种功能。
这个文本编辑器没有什么实用价值,仅当学习。
下面给出代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
import wx import os app = wx.App() win = wx.Frame(None, title="TXT Editor", size=(1000, 666)) bkg = wx.Panel(win) def openFile(evt): dlg = wx.FileDialog( win, "Open", "", "", "All files (*.*)|*.*", wx.FD_OPEN | wx.FD_FILE_MUST_EXIST) filepath = '' if dlg.ShowModal() == wx.ID_OK: filepath = dlg.GetPath() else: return filename.SetValue(filepath) fopen = open(filepath) fcontent = fopen.read() contents.SetValue(fcontent) fopen.close() def saveFile(evt): fcontent = contents.GetValue() fopen = open(filename.GetValue(), 'w') fopen.write(fcontent) fopen.close() win = wx.Frame(None, title='TXT Editor') button = wx.Button(win, label='保存成功') win.Show() openBtn = wx.Button(bkg, label='浏览') openBtn.Bind(wx.EVT_BUTTON, openFile) saveBtn = wx.Button(bkg, label='保存') saveBtn.Bind(wx.EVT_BUTTON, saveFile) filename = wx.TextCtrl(bkg, style=wx.TE_READONLY) contents = wx.TextCtrl(bkg, style=wx.TE_MULTILINE) hbox = wx.BoxSizer() hbox.Add(openBtn, proportion=0, flag=wx.LEFT | wx.ALL, border=5) hbox.Add(filename, proportion=1, flag=wx.EXPAND | wx.TOP | wx.BOTTOM, border=5) hbox.Add(saveBtn, proportion=0, flag=wx.LEFT | wx.ALL, border=5) bbox = wx.BoxSizer(wx.VERTICAL) bbox.Add(hbox, proportion=0, flag=wx.EXPAND | wx.ALL) bbox.Add(contents, proportion=1, flag=wx.EXPAND | wx.LEFT | wx.BOTTOM | wx.RIGHT, border=5) bkg.SetSizer(bbox) win.Show() app.MainLoop() |
效果图: