blob: d579876616ff97ea23cf309412c8f8b5f5bcd286 [file] [log] [blame]
Terry Jan Reedyc5a72e62014-06-24 22:21:41 -04001"""turtledemo.two_canvases
2
3Use TurtleScreen and RawTurtle to draw on two
Terry Jan Reedyf5ac57d2014-06-30 16:09:24 -04004distinct canvases in a separate windows. The
5new window must be separately closed in
6addition to pressing the STOP button.
Martin v. Löwis97cf99f2008-06-10 04:44:07 +00007"""
Terry Jan Reedyc5a72e62014-06-24 22:21:41 -04008
Martin v. Löwis60ebb8b2008-09-21 07:32:10 +00009from turtle import TurtleScreen, RawTurtle, TK
Martin v. Löwis97cf99f2008-06-10 04:44:07 +000010
Terry Jan Reedyf5ac57d2014-06-30 16:09:24 -040011def main():
12 root = TK.Tk()
13 cv1 = TK.Canvas(root, width=300, height=200, bg="#ddffff")
14 cv2 = TK.Canvas(root, width=300, height=200, bg="#ffeeee")
15 cv1.pack()
16 cv2.pack()
Martin v. Löwis97cf99f2008-06-10 04:44:07 +000017
Terry Jan Reedyf5ac57d2014-06-30 16:09:24 -040018 s1 = TurtleScreen(cv1)
19 s1.bgcolor(0.85, 0.85, 1)
20 s2 = TurtleScreen(cv2)
21 s2.bgcolor(1, 0.85, 0.85)
Martin v. Löwis97cf99f2008-06-10 04:44:07 +000022
Terry Jan Reedyf5ac57d2014-06-30 16:09:24 -040023 p = RawTurtle(s1)
24 q = RawTurtle(s2)
Martin v. Löwis97cf99f2008-06-10 04:44:07 +000025
Terry Jan Reedyf5ac57d2014-06-30 16:09:24 -040026 p.color("red", (1, 0.85, 0.85))
27 p.width(3)
28 q.color("blue", (0.85, 0.85, 1))
29 q.width(3)
Martin v. Löwis97cf99f2008-06-10 04:44:07 +000030
Terry Jan Reedyf5ac57d2014-06-30 16:09:24 -040031 for t in p,q:
32 t.shape("turtle")
33 t.lt(36)
Martin v. Löwis97cf99f2008-06-10 04:44:07 +000034
Terry Jan Reedyf5ac57d2014-06-30 16:09:24 -040035 q.lt(180)
Martin v. Löwis97cf99f2008-06-10 04:44:07 +000036
Martin v. Löwis97cf99f2008-06-10 04:44:07 +000037 for t in p, q:
Terry Jan Reedyf5ac57d2014-06-30 16:09:24 -040038 t.begin_fill()
39 for i in range(5):
40 for t in p, q:
41 t.fd(50)
42 t.lt(72)
43 for t in p,q:
44 t.end_fill()
45 t.lt(54)
46 t.pu()
47 t.bk(50)
Martin v. Löwis97cf99f2008-06-10 04:44:07 +000048
Terry Jan Reedyf5ac57d2014-06-30 16:09:24 -040049 return "EVENTLOOP"
Martin v. Löwis97cf99f2008-06-10 04:44:07 +000050
Martin v. Löwis97cf99f2008-06-10 04:44:07 +000051
Terry Jan Reedyf5ac57d2014-06-30 16:09:24 -040052if __name__ == '__main__':
53 main()
54 TK.mainloop() # keep window open until user closes it