本文實例講述了wxPython定時器wx.Timer簡單應用。分享給大家供大家參考。具體如下:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 # -*- coding: utf-8 -*- ######################################################## ## 這是wxPython定時器wx.Timer的簡單應用 ## testwxTimer1.pyw ######################################################## import wx import time ######################################################## class MyFrame1 ( wx.Frame ): def __init__( self, parent ): wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = u"測試定時器的小程序", pos = wx.DefaultPosition, size = wx.Size( 483,155 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL ) self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize ) self.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_INACTIVECAPTIONTEXT ) ) gSizer1 = wx.GridSizer( 0, 2, 0, 0 ) self.m_btnStart = wx.Button( self, wx.ID_ANY, u"啟動定時器", wx.DefaultPosition, wx.DefaultSize, 0 ) gSizer1.Add( self.m_btnStart, 0, wx.ALL, 5 ) self.m_btnStop = wx.Button( self, wx.ID_ANY, u"停止定時器", wx.DefaultPosition, wx.DefaultSize, 0 ) gSizer1.Add( self.m_btnStop, 0, wx.ALL, 5 ) self.SetSizer( gSizer1 ) self.Layout() self.m_statusBar1 = self.CreateStatusBar( 2, wx.ST_SIZEGRIP, wx.ID_ANY ) self.Centre( wx.BOTH ) # Connect Events self.m_btnStart.Bind( wx.EVT_BUTTON, self.OnStart ) self.m_btnStop.Bind( wx.EVT_BUTTON, self.OnStop ) # 創建定時器 self.timer = wx.Timer(self)#創建定時器 self.Bind(wx.EVT_TIMER, self.OnTimer, self.timer)#綁定一個定時器事件 def __del__( self ): pass # Virtual event handlers, overide them in your derived class def OnStart( self, event ): self.timer.Start(1000)#設定時間間隔為1000毫秒,並啟動定時器 def OnStop( self, event ): self.timer.Stop() def OnTimer(self, evt):#顯示時間事件處理函數 t = time.localtime(time.time()) StrYMDt = time.strftime("%Y-%B-%d", t) self.SetStatusText(StrYMDt,0) #顯示年月日 StrIMSt = time.strftime("%I:%M:%S", t) self.SetStatusText(StrIMSt,1)#顯示時間 ######################################################## ## 以上界面代碼使用wxFormBuilder自動創建 ######################################################## if __name__=='__main__': app = wx.PySimpleApp() frame = MyFrame1(None) frame.Show() app.MainLoop() ########################################################運行效果如下所示:
希望本文所述對大家的Python程序設計有所幫助。