D:\pwchi\SINICA\wxPython南港高中\wxPython-Train.xmlpage1of13194學年度第二學期資訊專題研究社課程-第四週很快的設計出一個像樣的視窗程式。基礎視窗程式概念圖形使用者介面。CommandLineInterface(CLI)命令列介面D:\pwchi\SINICA\wxPython南港高中\wxPython-Train.xmlpage2of131.1GraphicalUserInterface(GUI)圖形使用者介面D:\pwchi\SINICA\wxPython南港高中\wxPython-Train.xmlpage3of131.2部分。常見Frame的組成Panel中的各種元素D:\pwchi\SINICA\wxPython南港高中\wxPython-Train.xmlpage4of131.3Button(按鈕)TextCtrl(文字方塊控制項)CheckBox(核取方塊控制項)StaticText(靜態文字控制項)D:\pwchi\SINICA\wxPython南港高中\wxPython-Train.xmlpage5of1322.1ListBox(清單控制項)RadioBox(選取按鈕控制項)建置開發wxPython的環境安裝Python:\pwchi\SINICA\wxPython南港高中\wxPython-Train.xmlpage6of132.2選擇適當的作業系統版本安裝wxPython:\pwchi\SINICA\wxPython南港高中\wxPython-Train.xmlpage7of13選擇適當的對應版本選擇適當的下載地點D:\pwchi\SINICA\wxPython南港高中\wxPython-Train.xmlpage8of1333.1轉變成美觀的圖形使用者介面。設計一個「視窗介面」的薪資試算程式薪資試算程式的CLI(CommandLineInterface)介面薪資試算程式的GUI(GraphicsUserInterface)介面建立一個Frame空無一物的FrameD:\pwchi\SINICA\wxPython南港高中\wxPython-Train.xmlpage9of133.2#基本Frame--開始--importwx,stringclassMySalgar(wx.Frame):def__init__(self):#建造一個新的Framewx.Frame.__init__(self,parent=None,title=u薪資試算程式,size=(250,200))#加入一個Panelpanel=wx.Panel(self)if__name__=='__main__':app=wx.PySimpleApp()frame=MySalgar()frame.Show()app.MainLoop()#基本Frame--結束--配置視窗元件接著我們要在Panel配置完成後的視窗畫面D:\pwchi\SINICA\wxPython南港高中\wxPython-Train.xmlpage10of133.3importwx,stringclassMySalgar(wx.Frame):def__init__(self):wx.Frame.__init__(self,parent=None,title=u薪資試算程式,size=(250,200))panel=wx.Panel(self)#配置視窗元件--開始--self.a=wx.TextCtrl(parent=panel,pos=(100,10))self.b=wx.TextCtrl(parent=panel,pos=(100,50))self.btn=wx.Button(parent=panel,label=u結算薪資,pos=(10,100))self.message1=wx.StaticText(parent=panel,pos=(10,130))self.message2=wx.StaticText(parent=panel,pos=(10,150))#配置視窗元件--結束--if__name__=='__main__':app=wx.PySimpleApp()frame=MySalgar()frame.Show()app.MainLoop()撰寫事件函式薪資試算程式的執行結果importwx,stringD:\pwchi\SINICA\wxPython南港高中\wxPython-Train.xmlpage11of13classMySalgar(wx.Frame):def__init__(self):wx.Frame.__init__(self,parent=None,title=u薪資試算程式,size=(250,200))panel=wx.Panel(self)self.a=wx.TextCtrl(parent=panel,pos=(100,10))self.b=wx.TextCtrl(parent=panel,pos=(100,50))self.btn=wx.Button(parent=panel,label=u結算薪資,pos=(10,100))#新增BtnClick事件--開始--self.Bind(wx.EVT_BUTTON,self.BtnClick,self.btn)#新增BtnClick事件--結束--self.salgar=wx.StaticText(parent=panel,pos=(10,130))#撰寫BtnClick事件函式--開始--defBtnClick(self,event):a=self.a.GetValue()a=string.atoi(a)b=self.b.GetValue()b=string.atoi(b)c=b*12*ad=c/(365*a)message1Str=u'您工作'+str(a)+u'年可以獲得'+str(c)+u'元'message2Str=u'平均每日獲得'+str(d)+u'元'self.message1.SetLabel(message1Str)self.message2.SetLabel(message2Str)#撰寫BtnClick事件函式--結束--if__name__=='__main__':app=wx.PySimpleApp()frame=MySalgar()frame.Show()app.MainLoop()D:\pwchi\SINICA\wxPython南港高中\wxPython-Train.xmlpage12of1344.14.2自己設計一個「分數評量程式」。設計一個「視窗介面」的分數評量程式要求使用者輸入考試的分數分數評量程式的CLI介面分數評量程式的GUI介面建立一個Frame分數評量程式的Frame配置視窗元件配置完成後的視窗畫面D:\pwchi\SINICA\wxPython南港高中\wxPython-Train.xmlpage13of134.35撰寫事件函式實際執行結果參考資料