summaryrefslogtreecommitdiffstats
path: root/Lib/turtledemo/two_canvases.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/turtledemo/two_canvases.py')
-rw-r--r--Lib/turtledemo/two_canvases.py52
1 files changed, 52 insertions, 0 deletions
diff --git a/Lib/turtledemo/two_canvases.py b/Lib/turtledemo/two_canvases.py
new file mode 100644
index 0000000..02d89db
--- /dev/null
+++ b/Lib/turtledemo/two_canvases.py
@@ -0,0 +1,52 @@
+#!/usr/bin/env python3
+## DEMONSTRATES USE OF 2 CANVASES, SO CANNOT BE RUN IN DEMOVIEWER!
+"""turtle example: Using TurtleScreen and RawTurtle
+for drawing on two distinct canvases.
+"""
+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()