Boa练习程序2

做一个地址簿的gui。

  1 #Boa:Frame:AddressEntry
  2 
  3 import wx
  4 
  5 def create(parent):
  6     return AddressEntry(parent)
  7 
  8 [wxID_ADDRESSENTRY, wxID_ADDRESSENTRYADD, wxID_ADDRESSENTRYADDRESS, 
  9  wxID_ADDRESSENTRYCLOSE, wxID_ADDRESSENTRYDELETE, wxID_ADDRESSENTRYFIRSTNAME, 
 10  wxID_ADDRESSENTRYLASTNAME, wxID_ADDRESSENTRYLISTCTRL1, 
 11  wxID_ADDRESSENTRYPANEL1, wxID_ADDRESSENTRYSAVE, wxID_ADDRESSENTRYSTADDRESS, 
 12  wxID_ADDRESSENTRYSTFIRSTNAME, wxID_ADDRESSENTRYSTLASTNAME, 
 13 ] = [wx.NewId() for _init_ctrls in range(13)]
 14 
 15 class AddressEntry(wx.Frame):
 16     def _init_coll_fgsFields_Items(self, parent):
 17         # generated method, don't edit
 18 
 19         parent.AddWindow(self.stFirstName, 0, border=2,
 20               flag=wx.ALIGN_CENTER_VERTICAL | wx.ALL)
 21         parent.AddWindow(self.firstName, 0, border=2, flag=wx.EXPAND | wx.ALL)
 22         parent.AddWindow(self.stLastName, 0, border=2,
 23               flag=wx.ALL | wx.ALIGN_CENTER_VERTICAL)
 24         parent.AddWindow(self.lastName, 0, border=2, flag=wx.EXPAND | wx.ALL)
 25         parent.AddWindow(self.stAddress, 0, border=2,
 26               flag=wx.ALL | wx.ALIGN_CENTER_VERTICAL)
 27         parent.AddWindow(self.address, 0, border=2, flag=wx.EXPAND | wx.ALL)
 28 
 29     def _init_coll_fgsButtons_Items(self, parent):
 30         # generated method, don't edit
 31 
 32         parent.AddWindow(self.add, 0, border=2, flag=wx.ALL)
 33         parent.AddWindow(self.delete, 0, border=2, flag=wx.ALL)
 34         parent.AddWindow(self.save, 0, border=2, flag=wx.ALL)
 35         parent.AddWindow(self.close, 0, border=2, flag=wx.ALL)
 36 
 37     def _init_coll_bsMain_Items(self, parent):
 38         # generated method, don't edit
 39 
 40         parent.AddWindow(self.listCtrl1, 1, border=2, flag=wx.ALL | wx.EXPAND)
 41         parent.AddSizer(self.fgsFields, 0, border=0, flag=wx.EXPAND)
 42         parent.AddSizer(self.fgsButtons, 0, border=0, flag=0)
 43 
 44     def _init_coll_fgsFields_Growables(self, parent):
 45         # generated method, don't edit
 46 
 47         parent.AddGrowableCol(1)
 48 
 49     def _init_coll_listCtrl1_Columns(self, parent):
 50         # generated method, don't edit
 51 
 52         parent.InsertColumn(col=0, format=wx.LIST_FORMAT_LEFT,
 53               heading=u'First Name', width=-1)
 54         parent.InsertColumn(col=1, format=wx.LIST_FORMAT_LEFT,
 55               heading=u'Last Name', width=-1)
 56         parent.InsertColumn(col=2, format=wx.LIST_FORMAT_LEFT, heading=u'City',
 57               width=-1)
 58         parent.InsertColumn(col=3, format=wx.LIST_FORMAT_LEFT,
 59               heading=u'Country', width=-1)
 60 
 61     def _init_sizers(self):
 62         # generated method, don't edit
 63         self.bsMain = wx.BoxSizer(orient=wx.VERTICAL)
 64 
 65         self.fgsFields = wx.FlexGridSizer(cols=2, hgap=0, rows=0, vgap=0)
 66 
 67         self.fgsButtons = wx.FlexGridSizer(cols=0, hgap=0, rows=1, vgap=0)
 68 
 69         self._init_coll_bsMain_Items(self.bsMain)
 70         self._init_coll_fgsFields_Items(self.fgsFields)
 71         self._init_coll_fgsFields_Growables(self.fgsFields)
 72         self._init_coll_fgsButtons_Items(self.fgsButtons)
 73 
 74         self.panel1.SetSizer(self.bsMain)
 75 
 76     def _init_ctrls(self, prnt):
 77         # generated method, don't edit
 78         wx.Frame.__init__(self, id=wxID_ADDRESSENTRY, name=u'AddressEntry',
 79               parent=prnt, pos=wx.Point(623, 192), size=wx.Size(400, 506),
 80               style=wx.DEFAULT_FRAME_STYLE, title=u'Address entry form')
 81         self.SetClientSize(wx.Size(392, 479))
 82 
 83         self.panel1 = wx.Panel(id=wxID_ADDRESSENTRYPANEL1, name='panel1',
 84               parent=self, pos=wx.Point(0, 0), size=wx.Size(392, 479),
 85               style=wx.TAB_TRAVERSAL)
 86 
 87         self.listCtrl1 = wx.ListCtrl(id=wxID_ADDRESSENTRYLISTCTRL1,
 88               name='listCtrl1', parent=self.panel1, pos=wx.Point(2, 2),
 89               size=wx.Size(388, 346), style=wx.LC_REPORT)
 90         self._init_coll_listCtrl1_Columns(self.listCtrl1)
 91 
 92         self.stFirstName = wx.StaticText(id=wxID_ADDRESSENTRYSTFIRSTNAME,
 93               label=u'First Name', name=u'stFirstName', parent=self.panel1,
 94               pos=wx.Point(2, 356), size=wx.Size(62, 14), style=0)
 95 
 96         self.firstName = wx.TextCtrl(id=wxID_ADDRESSENTRYFIRSTNAME,
 97               name=u'firstName', parent=self.panel1, pos=wx.Point(68, 352),
 98               size=wx.Size(322, 22), style=0, value=u'')
 99 
100         self.stLastName = wx.StaticText(id=wxID_ADDRESSENTRYSTLASTNAME,
101               label=u'Last Name', name=u'stLastName', parent=self.panel1,
102               pos=wx.Point(2, 382), size=wx.Size(62, 14), style=0)
103 
104         self.lastName = wx.TextCtrl(id=wxID_ADDRESSENTRYLASTNAME,
105               name=u'lastName', parent=self.panel1, pos=wx.Point(68, 378),
106               size=wx.Size(322, 22), style=0, value=u'')
107 
108         self.stAddress = wx.StaticText(id=wxID_ADDRESSENTRYSTADDRESS,
109               label=u'Address', name=u'stAddress', parent=self.panel1,
110               pos=wx.Point(2, 419), size=wx.Size(62, 14), style=0)
111 
112         self.address = wx.TextCtrl(id=wxID_ADDRESSENTRYADDRESS, name=u'address',
113               parent=self.panel1, pos=wx.Point(68, 404), size=wx.Size(322, 45),
114               style=wx.TE_MULTILINE, value=u'')
115 
116         self.add = wx.Button(id=wx.ID_ADD, label=u'', name=u'add',
117               parent=self.panel1, pos=wx.Point(2, 453), size=wx.Size(75, 24),
118               style=0)
119 
120         self.delete = wx.Button(id=wx.ID_DELETE, label=u'', name=u'delete',
121               parent=self.panel1, pos=wx.Point(81, 453), size=wx.Size(75, 24),
122               style=0)
123 
124         self.save = wx.Button(id=wx.ID_SAVE, label=u'', name=u'save',
125               parent=self.panel1, pos=wx.Point(160, 453), size=wx.Size(75, 24),
126               style=0)
127 
128         self.close = wx.Button(id=wx.ID_CLOSE, label=u'', name=u'close',
129               parent=self.panel1, pos=wx.Point(239, 453), size=wx.Size(75, 24),
130               style=0)
131 
132         self._init_sizers()
133 
134     def __init__(self, parent):
135         self._init_ctrls(parent)
136 
137 
138 if __name__ == '__main__':
139     app = wx.PySimpleApp()
140     frame = create(None)
141     frame.Show()
142 
143     app.MainLoop()


运行图:

posted @ 2014-07-06 17:00  追风的蜗牛  阅读(271)  评论(0)    收藏  举报