python写GUI

时间:2023-03-10 05:54:41
python写GUI

图形用户界面

本文利用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()

  python写GUI

wx.BoxSizer参数默认为水平,wx.VERTICAL是垂直。

flag参数类似于style。wx.EXPAND标记组件会扩展到所分配的空间。wx.LEFT、wx.RIGHT、wx.TOP、wx.BOTTOM、wx.ALL对应于哪个边。

proportion参数根据窗口改变大小时所分配的空间比例。