jpayne@68: """turtledemo.two_canvases jpayne@68: jpayne@68: Use TurtleScreen and RawTurtle to draw on two jpayne@68: distinct canvases in a separate windows. The jpayne@68: new window must be separately closed in jpayne@68: addition to pressing the STOP button. jpayne@68: """ jpayne@68: jpayne@68: from turtle import TurtleScreen, RawTurtle, TK jpayne@68: jpayne@68: def main(): jpayne@68: root = TK.Tk() jpayne@68: cv1 = TK.Canvas(root, width=300, height=200, bg="#ddffff") jpayne@68: cv2 = TK.Canvas(root, width=300, height=200, bg="#ffeeee") jpayne@68: cv1.pack() jpayne@68: cv2.pack() jpayne@68: jpayne@68: s1 = TurtleScreen(cv1) jpayne@68: s1.bgcolor(0.85, 0.85, 1) jpayne@68: s2 = TurtleScreen(cv2) jpayne@68: s2.bgcolor(1, 0.85, 0.85) jpayne@68: jpayne@68: p = RawTurtle(s1) jpayne@68: q = RawTurtle(s2) jpayne@68: jpayne@68: p.color("red", (1, 0.85, 0.85)) jpayne@68: p.width(3) jpayne@68: q.color("blue", (0.85, 0.85, 1)) jpayne@68: q.width(3) jpayne@68: jpayne@68: for t in p,q: jpayne@68: t.shape("turtle") jpayne@68: t.lt(36) jpayne@68: jpayne@68: q.lt(180) jpayne@68: jpayne@68: for t in p, q: jpayne@68: t.begin_fill() jpayne@68: for i in range(5): jpayne@68: for t in p, q: jpayne@68: t.fd(50) jpayne@68: t.lt(72) jpayne@68: for t in p,q: jpayne@68: t.end_fill() jpayne@68: t.lt(54) jpayne@68: t.pu() jpayne@68: t.bk(50) jpayne@68: jpayne@68: return "EVENTLOOP" jpayne@68: jpayne@68: jpayne@68: if __name__ == '__main__': jpayne@68: main() jpayne@68: TK.mainloop() # keep window open until user closes it