图形用户界面
本文利用wxpython
wx包中的方法都是以大写的字幕开头
import wx
def load(event):
file = open(filename.GetValue())
contents.SetValue(file.read())
file.close()
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)
loadBtn = wx.Button(bkg, label = "Open")
loadBtn.Bind(wx.EVT_BUTTON, load)# 按钮绑定函数
saveBtn = wx.Button(bkg, label = "Save")
saveBtn.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(loadBtn, proportion = 0, flag = wx.LEFT, border = 5)
hbox.Add(saveBtn, 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()
wx.BoxSizer参数默认为水平,wx.VERTICAL是垂直。
flag参数类似于style。wx.EXPAND标记组件会扩展到所分配的空间。wx.LEFT、wx.RIGHT、wx.TOP、wx.BOTTOM、wx.ALL对应于哪个边。
proportion参数根据窗口改变大小时所分配的空间比例。