| 
									
										
										
										
											2014-06-24 22:21:41 -04:00
										 |  |  | """turtledemo.two_canvases
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Use TurtleScreen and RawTurtle to draw on two | 
					
						
							| 
									
										
										
										
											2021-04-05 13:19:13 -04:00
										 |  |  | distinct canvases in a separate window. The | 
					
						
							| 
									
										
										
										
											2014-06-30 16:09:24 -04:00
										 |  |  | new window must be separately closed in | 
					
						
							|  |  |  | addition to pressing the STOP button. | 
					
						
							| 
									
										
										
										
											2008-06-10 04:44:07 +00:00
										 |  |  | """
 | 
					
						
							| 
									
										
										
										
											2014-06-24 22:21:41 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-09-21 07:32:10 +00:00
										 |  |  | from turtle import TurtleScreen, RawTurtle, TK | 
					
						
							| 
									
										
										
										
											2008-06-10 04:44:07 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-06-30 16:09:24 -04:00
										 |  |  | def main(): | 
					
						
							|  |  |  |     root = TK.Tk() | 
					
						
							|  |  |  |     cv1 = TK.Canvas(root, width=300, height=200, bg="#ddffff") | 
					
						
							|  |  |  |     cv2 = TK.Canvas(root, width=300, height=200, bg="#ffeeee") | 
					
						
							|  |  |  |     cv1.pack() | 
					
						
							|  |  |  |     cv2.pack() | 
					
						
							| 
									
										
										
										
											2008-06-10 04:44:07 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-06-30 16:09:24 -04:00
										 |  |  |     s1 = TurtleScreen(cv1) | 
					
						
							|  |  |  |     s1.bgcolor(0.85, 0.85, 1) | 
					
						
							|  |  |  |     s2 = TurtleScreen(cv2) | 
					
						
							|  |  |  |     s2.bgcolor(1, 0.85, 0.85) | 
					
						
							| 
									
										
										
										
											2008-06-10 04:44:07 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-06-30 16:09:24 -04:00
										 |  |  |     p = RawTurtle(s1) | 
					
						
							|  |  |  |     q = RawTurtle(s2) | 
					
						
							| 
									
										
										
										
											2008-06-10 04:44:07 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-06-30 16:09:24 -04:00
										 |  |  |     p.color("red", (1, 0.85, 0.85)) | 
					
						
							|  |  |  |     p.width(3) | 
					
						
							|  |  |  |     q.color("blue", (0.85, 0.85, 1)) | 
					
						
							|  |  |  |     q.width(3) | 
					
						
							| 
									
										
										
										
											2008-06-10 04:44:07 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-06-30 16:09:24 -04:00
										 |  |  |     for t in p,q: | 
					
						
							|  |  |  |         t.shape("turtle") | 
					
						
							|  |  |  |         t.lt(36) | 
					
						
							| 
									
										
										
										
											2008-06-10 04:44:07 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-06-30 16:09:24 -04:00
										 |  |  |     q.lt(180) | 
					
						
							| 
									
										
										
										
											2008-06-10 04:44:07 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     for t in p, q: | 
					
						
							| 
									
										
										
										
											2014-06-30 16:09:24 -04:00
										 |  |  |         t.begin_fill() | 
					
						
							|  |  |  |     for i in range(5): | 
					
						
							|  |  |  |         for t in p, q: | 
					
						
							|  |  |  |             t.fd(50) | 
					
						
							|  |  |  |             t.lt(72) | 
					
						
							|  |  |  |     for t in p,q: | 
					
						
							|  |  |  |         t.end_fill() | 
					
						
							|  |  |  |         t.lt(54) | 
					
						
							|  |  |  |         t.pu() | 
					
						
							|  |  |  |         t.bk(50) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     return "EVENTLOOP" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if __name__ == '__main__': | 
					
						
							|  |  |  |     main() | 
					
						
							|  |  |  |     TK.mainloop()  # keep window open until user closes it |