亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

wxPython+Boa練習程序

2019-11-14 17:43:39
字體:
來源:轉載
供稿:網友

最近需要做點支持linux的跨平臺gui,網上查到了wxPython及Boa,感覺不錯,照著Boa文檔做做練習。

代碼:

App:

 1 #!/usr/bin/env python 2 #Boa:App:BoaApp 3  4 import wx 5  6 import Frame1 7  8 modules ={'Dialog1': [0, '', u'Dialog1.py'], 9  'Frame1': [1, 'Main frame of application', u'Frame1.py']}10 11 class BoaApp(wx.App):12     def OnInit(self):13         self.main = Frame1.create(None)14         self.main.Show()15         self.SetTopWindow(self.main)16         return True17 18 def main():19     application = BoaApp(0)20     application.MainLoop()21 22 if __name__ == '__main__':23     main()

 

Dialog:

 1 #Boa:Dialog:Dialog1 2  3 import wx 4  5 def create(parent): 6     return Dialog1(parent) 7  8 [wxID_DIALOG1, wxID_DIALOG1BUTTON1, wxID_DIALOG1STATICBITMAP1,  9  wxID_DIALOG1STATICTEXT1, wxID_DIALOG1STATICTEXT2, 10 ] = [wx.NewId() for _init_ctrls in range(5)]11 12 class Dialog1(wx.Dialog):13     def _init_ctrls(self, PRnt):14         # generated method, don't edit15         wx.Dialog.__init__(self, id=wxID_DIALOG1, name=u'Dialog1', parent=prnt,16               pos=wx.Point(365, 232), size=wx.Size(400, 492),17               style=wx.DEFAULT_DIALOG_STYLE, title=u'About Notebook')18         self.SetClientSize(wx.Size(392, 465))19 20         self.staticText1 = wx.StaticText(id=wxID_DIALOG1STATICTEXT1,21               label=u'Note Book - Simple Text Editor', name='staticText1',22               parent=self, pos=wx.Point(72, 32), size=wx.Size(220, 19),23               style=wx.ALIGN_CENTRE)24         self.staticText1.SetFont(wx.Font(12, wx.SWISS, wx.NORMAL, wx.NORMAL,25               False, u'Tahoma'))26 27         self.staticText2 = wx.StaticText(id=wxID_DIALOG1STATICTEXT2,28               label=u'This is my first Boa app.', name='staticText2',29               parent=self, pos=wx.Point(112, 96), size=wx.Size(129, 14),30               style=0)31         self.staticText2.SetBackgroundColour(wx.Colour(212, 208, 200))32 33         self.staticBitmap1 = wx.StaticBitmap(bitmap=wx.Bitmap(u'F:/Projects/guide1/6773383_753857.jpg',34               wx.BITMAP_TYPE_JPEG), id=wxID_DIALOG1STATICBITMAP1,35               name='staticBitmap1', parent=self, pos=wx.Point(48, 152),36               size=wx.Size(280, 160), style=0)37 38         self.button1 = wx.Button(id=wxID_DIALOG1BUTTON1, label=u'Close',39               name='button1', parent=self, pos=wx.Point(152, 328),40               size=wx.Size(75, 24), style=0)41         self.button1.Bind(wx.EVT_BUTTON, self.OnButton1Button,42               id=wxID_DIALOG1BUTTON1)43 44     def __init__(self, parent):45         self._init_ctrls(parent)46 47     def OnButton1Button(self, event):48         self.Close()

 

Frame: 

  1 #Boa:Frame:Frame1  2   3    4   5 import wx  6 import Dialog1  7   8    9  10 def create(parent): 11     return Frame1(parent) 12  13   14  15 [wxID_FRAME1, wxID_FRAME1STATUSBAR1, wxID_FRAME1TEXTEDITOR,  16 ] = [wx.NewId() for _init_ctrls in range(3)] 17  18   19  20 [wxID_FRAME1MENUFILECLOSE, wxID_FRAME1MENUFILEEXIT, wxID_FRAME1MENUFILEOPEN,  21  wxID_FRAME1MENUFILESAVE, wxID_FRAME1MENUFILESAVEAS,  22 ] = [wx.NewId() for _init_coll_menuFile_Items in range(5)] 23  24   25  26 [wxID_FRAME1MENUHELPABOUT] = [wx.NewId() for _init_coll_menuHelp_Items in range(1)] 27  28   29  30 class Frame1(wx.Frame): 31     def _init_coll_menuBar1_Menus(self, parent): 32         # generated method, don't edit 33  34   35  36         parent.Append(menu=self.menuFile, title=u'File') 37         parent.Append(menu=self.menuHelp, title=u'Help') 38  39   40  41     def _init_coll_menuHelp_Items(self, parent): 42         # generated method, don't edit 43  44   45  46         parent.Append(help=u'Display Info', id=wxID_FRAME1MENUHELPABOUT, 47               kind=wx.ITEM_NORMAL, text=u'About') 48         self.Bind(wx.EVT_MENU, self.OnMenuHelpAboutMenu, 49               id=wxID_FRAME1MENUHELPABOUT) 50  51   52  53     def _init_coll_menuFile_Items(self, parent): 54         # generated method, don't edit 55  56   57  58         parent.Append(help='', id=wxID_FRAME1MENUFILEOPEN, kind=wx.ITEM_NORMAL, 59               text=u'Open') 60         parent.Append(help='', id=wxID_FRAME1MENUFILESAVE, kind=wx.ITEM_NORMAL, 61               text=u'Save') 62         parent.Append(help='', id=wxID_FRAME1MENUFILESAVEAS, 63               kind=wx.ITEM_NORMAL, text=u'Save As') 64         parent.Append(help='', id=wxID_FRAME1MENUFILECLOSE, kind=wx.ITEM_NORMAL, 65               text=u'Close') 66         parent.Append(help='', id=wxID_FRAME1MENUFILEEXIT, kind=wx.ITEM_NORMAL, 67               text=u'Exit') 68         self.Bind(wx.EVT_MENU, self.OnMenuFileOpenMenu, 69               id=wxID_FRAME1MENUFILEOPEN) 70         self.Bind(wx.EVT_MENU, self.OnMenuFileSaveMenu, 71               id=wxID_FRAME1MENUFILESAVE) 72         self.Bind(wx.EVT_MENU, self.OnMenuFileSaveasMenu, 73               id=wxID_FRAME1MENUFILESAVEAS) 74         self.Bind(wx.EVT_MENU, self.OnMenuFileCloseMenu, 75               id=wxID_FRAME1MENUFILECLOSE) 76         self.Bind(wx.EVT_MENU, self.OnMenuFileExitMenu, 77               id=wxID_FRAME1MENUFILEEXIT) 78  79   80  81     def _init_coll_statusBar1_Fields(self, parent): 82         # generated method, don't edit 83         parent.SetFieldsCount(1) 84  85   86  87         parent.SetStatusText(number=0, text=u'status') 88  89   90  91         parent.SetStatusWidths([-1]) 92  93   94  95     def _init_utils(self): 96         # generated method, don't edit 97         self.menuFile = wx.Menu(title=u'File') 98  99  100 101         self.menuHelp = wx.Menu(title=u'Help')102 103  104 105         self.menuBar1 = wx.MenuBar()106 107  108 109         self._init_coll_menuFile_Items(self.menuFile)110         self._init_coll_menuHelp_Items(self.menuHelp)111         self._init_coll_menuBar1_Menus(self.menuBar1)112 113  114 115     def _init_ctrls(self, prnt):116         # generated method, don't edit117         wx.Frame.__init__(self, id=wxID_FRAME1, name='', parent=prnt,118               pos=wx.Point(550, 227), size=wx.Size(400, 492),119               style=wx.DEFAULT_FRAME_STYLE, title=u'Notebook')120         self._init_utils()121         self.SetClientSize(wx.Size(392, 465))122         self.SetToolTipString(u'Frame1')123         self.SetWindowVariant(wx.WINDOW_VARIANT_LARGE)124         self.SetMenuBar(self.menuBar1)125 126  127 128         self.statusBar1 = wx.StatusBar(id=wxID_FRAME1STATUSBAR1,129               name='statusBar1', parent=self, style=0)130         self._init_coll_statusBar1_Fields(self.statusBar1)131         self.SetStatusBar(self.statusBar1)132 133  134 135         self.textEditor = wx.TextCtrl(id=wxID_FRAME1TEXTEDITOR,136               name=u'textEditor', parent=self, pos=wx.Point(0, 0),137               size=wx.Size(392, 426), style=wx.TE_MULTILINE, value=u'')138 139  140 141     def __init__(self, parent):142         self._init_ctrls(parent)143         self.FileName = None144 145  146 147     def OnMenuFileOpenMenu(self, event):148         dlg = wx.FileDialog(self, 'Choose a file', '.', '', '*.*', wx.OPEN)149         try:150             if dlg.ShowModal() == wx.ID_OK:151                 filename = dlg.GetPath()152                 # Your code153                 self.textEditor.LoadFile(filename)154                 self.FileName = filename155                 self.SetTitle(('Notebook - %s') % filename)156         finally:157             dlg.Destroy()       158 159  160 161     def OnMenuFileSaveMenu(self, event):162         if self.FileName == None:163             return self.OnFileSaveasMenu(event)164         else:165             self.textEditor.SaveFile(self.FileName)166         167     def OnMenuFileCloseMenu(self, event):168         self.FileName = None169         self.textEditor.clear()170         self.SetTitle('Notebook')       171 172  173 174     def OnMenuFileExitMenu(self, event):175         self.Close()      176 177  178 179     def OnMenuHelpAboutMenu(self, event):180         dlg = Dialog1.Dialog1(self)181         try:182             dlg.ShowModal()183         finally:184             dlg.Destroy()185 186  187 188     def OnMenuFileSaveasMenu(self, event):189         dlg = wx.FileDialog(self, 'Save file as', '.', '', '*.*', wx.SAVE)190         try:191             if dlg.ShowModal() == wx.ID_OK:192                 filename = dlg.GetPath()193                 # Your code194                 self.textEditor.SaveFile(filename)195                 self.FileName = filename196                 self.SetTitle(('Notebook - %s') % filename)                197         finally:198             dlg.Destroy()

 

運行結果圖:


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
性色av一区二区三区| 日本一区二区不卡| 亚洲欧美另类人妖| 国产精品第一页在线| 欧美性xxxxx极品| 欧美日韩亚洲精品一区二区三区| 欧美在线视频免费播放| 国产精品91免费在线| 在线日韩精品视频| 精品国产拍在线观看| 国产精品久久久久久久久免费| 亚洲国产成人一区| 成人黄色生活片| 日韩女优人人人人射在线视频| 欧美夫妻性生活视频| 黄色成人在线免费| 亚洲图中文字幕| 91成人性视频| 在线播放日韩av| 久久九九亚洲综合| 欧美一乱一性一交一视频| 日本高清视频精品| 色综合导航网站| 在线视频欧美性高潮| 一区二区三区四区在线观看视频| 亚洲jizzjizz日本少妇| 97色在线视频观看| 欧美中文字幕视频| 久久91亚洲精品中文字幕| 国产精品99免视看9| 欧美一级电影免费在线观看| 国产a级全部精品| 视频直播国产精品| 97成人精品视频在线观看| 欧美孕妇与黑人孕交| 色视频www在线播放国产成人| 另类天堂视频在线观看| 日韩美女视频免费看| 亚洲人成电影网站色…| 成人免费网站在线| 久久综合亚洲社区| 精品动漫一区二区| 91国内产香蕉| 国产精品久久久久aaaa九色| 日韩av资源在线播放| 久久天天躁狠狠躁老女人| 亚洲国产成人精品一区二区| 国产精品影院在线观看| 福利视频一区二区| 2019精品视频| 亚洲电影中文字幕| 亚洲成人精品久久| 欧美激情视频一区二区| 国产裸体写真av一区二区| 久久久91精品国产一区不卡| 亚洲欧美精品一区| 国产精品国产福利国产秒拍| 国产精品免费久久久久影院| www.久久久久久.com| 亚洲欧美日韩精品久久亚洲区| 欧美日韩国产中字| 色综久久综合桃花网| 亚洲精品电影在线| 亚洲欧美国产日韩天堂区| 亚洲欧美日韩天堂一区二区| 高清在线视频日韩欧美| 日韩毛片在线看| 精品国产一区二区三区久久久狼| 国内精品久久久久久影视8| 最近2019好看的中文字幕免费| 国产精品旅馆在线| 亚洲视频一区二区| 欧美极品美女电影一区| 日韩中文综合网| 日韩欧美国产成人| 国产精品一区二区三区久久久| 久久精品91久久久久久再现| 91久久在线播放| 国产在线视频欧美| 欧美多人爱爱视频网站| 7777kkkk成人观看| 国产一区二区在线免费视频| 在线看片第一页欧美| 久久影院免费观看| 国产欧美日韩免费看aⅴ视频| 久久久999精品| 国产精品久久久久高潮| 亚洲国产美女精品久久久久∴| 欧美成人在线影院| 久久久精品免费| 777国产偷窥盗摄精品视频| 国产一区二区三区18| 久久精品国亚洲| 国产精品免费视频久久久| 成人免费在线视频网站| 亚洲最大的网站| 91亚洲精华国产精华| 国产亚洲一区精品| 57pao成人永久免费视频| 精品夜色国产国偷在线| 国产日韩在线亚洲字幕中文| 亚洲国产精品小视频| 欧美性猛交xxxx富婆弯腰| 亚洲成人av片| 亚洲丝袜在线视频| 美女999久久久精品视频| 国产精品偷伦视频免费观看国产| 欧美日韩一区二区免费视频| 欧美成人性生活| 日韩视频在线免费| 美女啪啪无遮挡免费久久网站| 国产视频一区在线| 亚洲黄色在线看| 亚洲欧洲视频在线| 欧美电影免费观看网站| 国产97在线观看| 伊人久久久久久久久久| 2021久久精品国产99国产精品| 欧美一区二区三区图| 欧美视频在线看| 91九色国产视频| 91免费福利视频| 亚洲成人性视频| 色黄久久久久久| 欧美亚洲在线播放| 亚洲欧美变态国产另类| 91久久国产精品91久久性色| 日韩va亚洲va欧洲va国产| 国产成人精品视频在线| 久久精品美女视频网站| 国产视频丨精品|在线观看| 欧美伊久线香蕉线新在线| 日本成熟性欧美| 9.1国产丝袜在线观看| 美女福利精品视频| 久久国产精品电影| 欧洲成人在线观看| yellow中文字幕久久| 久久久免费av| 国产日产久久高清欧美一区| 韩日精品中文字幕| 久久久亚洲影院你懂的| 中文字幕亚洲图片| www.99久久热国产日韩欧美.com| 精品国产福利视频| 亚洲国产女人aaa毛片在线| 98视频在线噜噜噜国产| 成人福利免费观看| 国产欧美精品一区二区三区-老狼| www.亚洲免费视频| 永久555www成人免费| 九九九热精品免费视频观看网站| 日韩精品视频在线| 欧美亚洲激情在线| 黄色成人在线播放| 欧美一区二三区| 日韩精品电影网| 日韩小视频在线观看| 在线免费观看羞羞视频一区二区| 亚洲一级黄色片| 欧美精品xxx| 亚洲一区二区少妇| 欧美精品日韩三级| 岛国av在线不卡|