ubuntu下通过'sudo apt-get install python-wxtools'下载wxPython.
load和save函数用于加载和保存文件内容,button通过Bind函数绑定这两个函数用于进行事件处理。
BoxSizer(尺寸器)可以动态调整窗口布局。
下面的代码实现了一个简单的文本编辑器,可以实现编辑加载和保存操作。
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) 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) filename.SetValue('test.txt') contents = wx.TextCtrl(bkg, style=wx.TE_MULTILINE | wx.HSCROLL) contents.SetValue("hello, I am wuyouwulv.\nthis is a python editor sample using wxPython plugins.\nto install wxPython,you can input \n\t'sudo apt-get install python-wxtools'\nunder ubuntu") 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()