在windwos上实现:使用wxPython模块
#!/usr/bin/env python# encoding: utf-8import wx#创建open按钮触发的事件对应的函数def load(event): file = open(filename.GetValue()) contents.SetValue(file.read()) file.close()#创建save按钮触发的事件对应的函数def save(event): file = open(filename.GetValue(),'w') file.write(contents.GetValue()) file.close() #创建应用程序对象app = wx.App()#创建窗口(框架实例)win = wx.Frame(None,title="Simple Editor",size=(410,335))#背景组件bkg = wx.Panel(win)#在窗口添加按钮,并绑定事件loadButton = wx.Button(bkg,label='open')loadButton.Bind(wx.EVT_BUTTON,load)saveButton = wx.Button(bkg,label='Save')saveButton.Bind(wx.EVT_BUTTON,save)#文本控制对象filename = wx.TextCtrl(bkg)contents = wx.TextCtrl(bkg,style=wx.TE_MULTILINE | wx.HSCROLL)#水平调整hbox = wx.BoxSizer()hbox.Add(filename,proportion=1,flag=wx.EXPAND)hbox.Add(loadButton,proportion=0,flag=wx.LEFT,border=5)hbox.Add(saveButton,proportion=0,flag=wx.LEFT,border=5)#垂直方向调整vbox = wx.BoxSizer(wx.VERTICAL)vbox.Add(hbox, proportion=0,flag=wx.EXPAND | wx.ALL,border=5)vbox.Add(contents,proportion=1,flag=wx.EXPAND | wx.LEFT | wx.BOTTOM | wx.RIGHT,border=5)#调用面板的SetSizer设定尺寸bkg.SetSizer(vbox)#调用app.MianLoop前需要调用窗法,否则他会一直隐藏win.Show()app.MainLoop()