aboutsummaryrefslogtreecommitdiff
blob: 26882caccf72c3231c426f5107b58909b0be39b7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
"""turtledemo.two_canvases

Use TurtleScreen and RawTurtle to draw on two
distinct canvases.
"""
#The final mainloop only serves to keep the window open.

#TODO: This runs in its own two-canvas window when selected in the
#demoviewer examples menu but the text is not loaded and the previous
#example is left visible. If the ending mainloop is removed, the text
#Eis loaded, this run again in a third window, and if start is pressed,
#demoviewer raises an error because main is not found, and  then freezes.

from turtle import TurtleScreen, RawTurtle, TK

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()

s1 = TurtleScreen(cv1)
s1.bgcolor(0.85, 0.85, 1)
s2 = TurtleScreen(cv2)
s2.bgcolor(1, 0.85, 0.85)

p = RawTurtle(s1)
q = RawTurtle(s2)

p.color("red", (1, 0.85, 0.85))
p.width(3)
q.color("blue", (0.85, 0.85, 1))
q.width(3)

for t in p,q:
    t.shape("turtle")
    t.lt(36)

q.lt(180)

for t in p, q:
    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)

## Want to get some info?

#print(s1, s2)
#print(p, q)
#print(s1.turtles())
#print(s2.turtles())

TK.mainloop()