/Demo/turtle/turtledemo_two_canvases.py

http://unladen-swallow.googlecode.com/ · Python · 49 lines · 33 code · 10 blank · 6 comment · 4 complexity · 693806b578b39e24eed7d2304c25f49a MD5 · raw file

  1. #!/usr/bin/python
  2. ## DEMONSTRATES USE OF 2 CANVASES, SO CANNOT BE RUN IN DEMOVIEWER!
  3. """turtle example: Using TurtleScreen and RawTurtle
  4. for drawing on two distinct canvases.
  5. """
  6. from turtle import TurtleScreen, RawTurtle, TK
  7. root = TK.Tk()
  8. cv1 = TK.Canvas(root, width=300, height=200, bg="#ddffff")
  9. cv2 = TK.Canvas(root, width=300, height=200, bg="#ffeeee")
  10. cv1.pack()
  11. cv2.pack()
  12. s1 = TurtleScreen(cv1)
  13. s1.bgcolor(0.85, 0.85, 1)
  14. s2 = TurtleScreen(cv2)
  15. s2.bgcolor(1, 0.85, 0.85)
  16. p = RawTurtle(s1)
  17. q = RawTurtle(s2)
  18. p.color("red", "white")
  19. p.width(3)
  20. q.color("blue", "black")
  21. q.width(3)
  22. for t in p,q:
  23. t.shape("turtle")
  24. t.lt(36)
  25. q.lt(180)
  26. for i in range(5):
  27. for t in p, q:
  28. t.fd(50)
  29. t.lt(72)
  30. for t in p,q:
  31. t.lt(54)
  32. t.pu()
  33. t.bk(50)
  34. ## Want to get some info?
  35. print s1, s2
  36. print p, q
  37. print s1.turtles()
  38. print s2.turtles()
  39. TK.mainloop()