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