在windwos上实现:使用wxPython模块
#!/usr/bin/env python # encoding: utf-8 import 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()