title: simple animation using tkinter
body: <p>I have a simple code to visualise some data using tkinter. A button click is bound to the function that redraws the next "frame" of data. However, I'd like to have the option to redraw automatically with a certain frequency. I'm very green when it comes to GUI programming (I don't have to do a lot for this code), so most of my tkinter knowledge comes from following and modifying examples. I guess I can use root.after to achieve this, but I'm not quite sure I understand how from other codes. The basic structure of my program is as follows:</p>
  
  <pre><code># class for simulation data
  # --------------------------------
  
  def Visualisation:
  
     def __init__(self, args):
         # sets up the object
  
  
     def update_canvas(self, Event):
         # draws the next frame
  
         canvas.delete(ALL)
  
         # draw some stuff
         canvas.create_........
  
  
  # gui section
  # ---------------------------------------
  
  # initialise the visualisation object
  vis = Visualisation(s, canvasWidth, canvasHeight)
  
  # Tkinter initialisation
  root = Tk()
  canvas = Canvas(root, width = canvasWidth, height = canvasHeight)
  
  # set mouse click to advance the simulation
  canvas.grid(column=0, row=0, sticky=(N, W, E, S))
  canvas.bind('&lt;Button-1&gt;', vis.update_canvas)
  
  # run the main loop
  root.mainloop()
  </code></pre>
  
  <p>Apologies for asking a question which I'm sure has an obvious and simple answer. Many thanks.</p>