two_canvases.py 1.09 KB
Newer Older
1 2 3
"""turtledemo.two_canvases

Use TurtleScreen and RawTurtle to draw on two
4 5 6
distinct canvases in a separate windows. The
new window must be separately closed in
addition to pressing the STOP button.
7
"""
8

9
from turtle import TurtleScreen, RawTurtle, TK
10

11 12 13 14 15 16
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()
17

18 19 20 21
    s1 = TurtleScreen(cv1)
    s1.bgcolor(0.85, 0.85, 1)
    s2 = TurtleScreen(cv2)
    s2.bgcolor(1, 0.85, 0.85)
22

23 24
    p = RawTurtle(s1)
    q = RawTurtle(s2)
25

26 27 28 29
    p.color("red", (1, 0.85, 0.85))
    p.width(3)
    q.color("blue", (0.85, 0.85, 1))
    q.width(3)
30

31 32 33
    for t in p,q:
        t.shape("turtle")
        t.lt(36)
34

35
    q.lt(180)
36 37

    for t in p, q:
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
        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