学习python中,今天跟着敲了一个GUI程序,像把他改造成一个host快捷编辑软件。目前只是一个雏形,还有很多地方需要修改,暂定为版本1吧。
import wx
import sys
#utf-8编码
reload(sys)
sys.setdefaultencoding('utf-8')
#定义文件加载事件
def load(event):
file = open('C:\Windows\System32\drivers\etc\hosts')
contents.SetValue(file.read())
file.close()
#定义文件保存事件
def save(event):
file = open('C:\Windows\System32\drivers\etc\hosts','w')
file.write(contents.GetValue())
file.close()
#GUI的主体结构
app = wx.App()
win = wx.Frame(None,title="Host文件",size=(410,335))
bkg = wx.Panel(win)
loadButton = wx.Button(bkg,label='打开')
loadButton.Bind(wx.EVT_BUTTON,load)
saveButton = wx.Button(bkg,label='保存')
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)
bkg.SetSizer(vbox)
win.Show()
app.MainLoop()