diff options
author | Terry Jan Reedy <tjreedy@udel.edu> | 2014-06-30 20:09:24 (GMT) |
---|---|---|
committer | Terry Jan Reedy <tjreedy@udel.edu> | 2014-06-30 20:09:24 (GMT) |
commit | f5ac57dc05818e4fe2ff5118680fe136937d768e (patch) | |
tree | 28c5be50f2bc8a0cdc6d77a61bf0bb079461c642 /Lib/turtledemo/two_canvases.py | |
parent | 98b6391fd4b27485b17c068d6f85a00d3f7c5ddc (diff) | |
download | cpython-f5ac57dc05818e4fe2ff5118680fe136937d768e.zip cpython-f5ac57dc05818e4fe2ff5118680fe136937d768e.tar.gz cpython-f5ac57dc05818e4fe2ff5118680fe136937d768e.tar.bz2 |
Issue #21882: In turtle demos, remove module scope gui and sys calls by
either deleting or moving to the module's main function.
Diffstat (limited to 'Lib/turtledemo/two_canvases.py')
-rwxr-xr-x | Lib/turtledemo/two_canvases.py | 86 |
1 files changed, 40 insertions, 46 deletions
diff --git a/Lib/turtledemo/two_canvases.py b/Lib/turtledemo/two_canvases.py index 26882ca..d579876 100755 --- a/Lib/turtledemo/two_canvases.py +++ b/Lib/turtledemo/two_canvases.py @@ -1,60 +1,54 @@ """turtledemo.two_canvases Use TurtleScreen and RawTurtle to draw on two -distinct canvases. +distinct canvases in a separate windows. The +new window must be separately closed in +addition to pressing the STOP button. """ -#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() +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() -s1 = TurtleScreen(cv1) -s1.bgcolor(0.85, 0.85, 1) -s2 = TurtleScreen(cv2) -s2.bgcolor(1, 0.85, 0.85) + 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 = 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) + 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) + for t in p,q: + t.shape("turtle") + t.lt(36) -q.lt(180) + 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() + 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 |