Mercurial > repos > rliterman > csp2
annotate CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/lib/python3.8/turtledemo/two_canvases.py @ 69:33d812a61356
planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author | jpayne |
---|---|
date | Tue, 18 Mar 2025 17:55:14 -0400 |
parents | |
children |
rev | line source |
---|---|
jpayne@69 | 1 """turtledemo.two_canvases |
jpayne@69 | 2 |
jpayne@69 | 3 Use TurtleScreen and RawTurtle to draw on two |
jpayne@69 | 4 distinct canvases in a separate windows. The |
jpayne@69 | 5 new window must be separately closed in |
jpayne@69 | 6 addition to pressing the STOP button. |
jpayne@69 | 7 """ |
jpayne@69 | 8 |
jpayne@69 | 9 from turtle import TurtleScreen, RawTurtle, TK |
jpayne@69 | 10 |
jpayne@69 | 11 def main(): |
jpayne@69 | 12 root = TK.Tk() |
jpayne@69 | 13 cv1 = TK.Canvas(root, width=300, height=200, bg="#ddffff") |
jpayne@69 | 14 cv2 = TK.Canvas(root, width=300, height=200, bg="#ffeeee") |
jpayne@69 | 15 cv1.pack() |
jpayne@69 | 16 cv2.pack() |
jpayne@69 | 17 |
jpayne@69 | 18 s1 = TurtleScreen(cv1) |
jpayne@69 | 19 s1.bgcolor(0.85, 0.85, 1) |
jpayne@69 | 20 s2 = TurtleScreen(cv2) |
jpayne@69 | 21 s2.bgcolor(1, 0.85, 0.85) |
jpayne@69 | 22 |
jpayne@69 | 23 p = RawTurtle(s1) |
jpayne@69 | 24 q = RawTurtle(s2) |
jpayne@69 | 25 |
jpayne@69 | 26 p.color("red", (1, 0.85, 0.85)) |
jpayne@69 | 27 p.width(3) |
jpayne@69 | 28 q.color("blue", (0.85, 0.85, 1)) |
jpayne@69 | 29 q.width(3) |
jpayne@69 | 30 |
jpayne@69 | 31 for t in p,q: |
jpayne@69 | 32 t.shape("turtle") |
jpayne@69 | 33 t.lt(36) |
jpayne@69 | 34 |
jpayne@69 | 35 q.lt(180) |
jpayne@69 | 36 |
jpayne@69 | 37 for t in p, q: |
jpayne@69 | 38 t.begin_fill() |
jpayne@69 | 39 for i in range(5): |
jpayne@69 | 40 for t in p, q: |
jpayne@69 | 41 t.fd(50) |
jpayne@69 | 42 t.lt(72) |
jpayne@69 | 43 for t in p,q: |
jpayne@69 | 44 t.end_fill() |
jpayne@69 | 45 t.lt(54) |
jpayne@69 | 46 t.pu() |
jpayne@69 | 47 t.bk(50) |
jpayne@69 | 48 |
jpayne@69 | 49 return "EVENTLOOP" |
jpayne@69 | 50 |
jpayne@69 | 51 |
jpayne@69 | 52 if __name__ == '__main__': |
jpayne@69 | 53 main() |
jpayne@69 | 54 TK.mainloop() # keep window open until user closes it |