Mega Code Archive

 
Categories / Python Tutorial / Wxpython
 

Use timer

import wx import time class ClockWindow(wx.Frame):     def __init__(self, parent):         wx.Frame.__init__(self, None)         self.Bind(wx.EVT_PAINT, self.OnPaint)         self.timer = wx.Timer(self)         self.Bind(wx.EVT_TIMER, self.OnTimer, self.timer)         self.timer.Start(1000)     def Draw(self, dc):         t = time.localtime(time.time())         st = time.strftime("%I:%M:%S", t)         dc.SetBackground(wx.Brush(self.GetBackgroundColour()))         dc.Clear()         dc.SetFont(wx.Font(30, wx.SWISS, wx.NORMAL, wx.NORMAL))         tw, th = dc.GetTextExtent(st)         dc.DrawText(st, 20, 20)              def OnTimer(self, evt):         dc = wx.BufferedDC(wx.ClientDC(self))         self.Draw(dc)     def OnPaint(self, evt):         dc = wx.BufferedPaintDC(self)         self.Draw(dc) app = wx.PySimpleApp() frm = ClockWindow(app) frm.Show() app.MainLoop()