At 11:57 PM 8/9/2008, you wrote:
Dick Moores schrieb:
Gregor,
<http://docs.python.org/dev/library/turtle.html#turtle.setup>
1. I want the window to open with the right edge 0 pixels from the
right edge of my screen.
However, setup(width=.75, height=.915, startx=-0, starty=0) doesn't
work. I have to do the nearest thing,
setup(width=.75, height=.915, startx=-1, starty=0). A small thing,
but what's wrong with perfection.
Hi Dick,
a good observation, but I think this cannot be changed, because of
>>> -0 == 0
True
OK. I just thought there might be a workaround. Or should be.
in Python
2. There's a lot I don't understand in
turtle.setup(width=_CFG[, "width"], height=_CFG[, "height"],
startx=_CFG[, "leftright"], starty=_CFG[, "topbottom"])
What is '_CFG'? And how should anyone know what it is?
What is "leftright"? And how to use it?
What is "topbottom"? And how to use it?
_CFG is an internal dictionary, which contains configuration data.
You can change these
by editing adding or editing the turtle.cfg file (an example is in
the Demo directory).
How to do this you can find here:
http://docs.python.org/dev/library/turtle.html#how-to-configure-screen-and-turtles
I suppose you'll add a mention of '_CFG' to that?
3. http://docs.python.org/dev/library/turtle.html#turtle.stamp
"turtle.stamp()
Stamp a copy of the turtle shape onto the canvas at the current
turtle position. Return a stamp_id for that stamp, which can be
used to delete it by calling clearstamp(stamp_id)."
But in your version 1
(<http://article.gmane.org/gmane.comp.python.tutor/49805>), the
turtle is hidden by hideturtle()! What are you stamping? It seems
the shape, or rectangle. If so, why does the doc say 'turtle'?
there will be stamped the shape of the turtle, that appeared if it
were not hidden.
But what get's 'stamped' is not only the turtle, is it. That's what
is confusing, IMO. And would it not be a good idea to define 'stamp'?
General remark: you can investigate Python and especially its turtle
module interactively
using IDLE. But note: in the case of graphics (Tkinter and
especially turtle.py) you have to
use the -n switch of IDLE. So the link calling idle must look
something like this:
/... ../... ../python /... ../.../.../idle.pyw -n
the dotted parts representig the path according to your system configuration
If you have done this onceyou can issue function calls on after another and
observe what happens. E. g.:
>>> from turtle import *
>>> reset()
>>> shape("square")
>>> color("blue", "red")
>>> resizemode("user") # at first no visual effect, but ...
>>> turtlesize(2,3,5)
>>> fd(100)
>>> left(45)
>>> pensize(8)
>>> fd(100)
>>> left(90)
>>> pencolor("green")
>>> fd(100)
>>> turtlesize(1,5)
>>> left(1080)
>>> stamp()
8
>>> left(45)
>>> ht()
>>> fd(100)
>>> stamp()
9
>>> left(45)
>>> fd(100)
>>> stamp()
10
>>>
... and so on.
If you want to know how some function works and the docs
don't give you a proper clue, simply try out.
Ah. Very good. After doing that I understand a lot more now. However,
it was of no help with "leftright" or "topbottom" of my question #2.
4. For my random_rectangles.py program I've started to try out the
new turtle. (See the current state of random_rectanglesV16_web.py
at <http://py77.python.pastebin.com/d3e842821>.) The only downside
I've found is that the new turtle is much faster that the old. I
want to set the speed so that the outlines of rectangles are drawn
slowly enough that the user (me at present) can both appreciate the
colors and have time to check the names of the colors being printed
in the console window. Using the old turtle, I found that a default
delay of 1 ((delay(1)) was just right; with the new turtle, setting
a delay of even 50 affects only the first cycle of rectangles. So I
don't use delay at all. Setting the slowest speed of 1 (speed(1))
is still too fast. How can I slow down the drawing of the rectangles?
I suppose you have some call of reset() or clear() which resets the
delay. So try a
delay call at the beginning of every cycle.
You're right! The clear() between cycles was doing that. So now I
have speed(spd) at the top of draw_rect(). And now I find that
speed(4) and delay(15) work the best for what I want. So those are
now the defaults. BTW the latest version is
<http://py77.python.pastebin.com/pastebin.php?diff=f159f133d>. Now
the user can accept all the defaults at once. (See the prompt for
this, line 427. Also, the dimensions of the window and of the
rectangles are now proportional to the size and resolution of the
user's monitor. See new function
adjust_for_monitor_size_and_resolution(), line 196, and revised
function get_next_rect_params(), lines 207-209.
5. I've been unable to figure out how to use onclick()
(<http://docs.python.org/dev/library/turtle.html#turtle.onclick>).
I'd like to find a way to pause my script by clicking on the screen
-- so I could snag an image of what's showing, and then click again
to restart the drawing of the rectangles. And in addition, being
able to stop the program with a double click on the screen would be
very handy. Could you explain how to do these, if in fact they are possible?
This idea for an event driven program affords a bit of different
thinking and a different
program structure. I'll come up with a proposition and an explanation of some
prerequisites in another posting. (I have not got the time to do
that now).
Great! Thank you.
Dick
_______________________________________________
Tutor maillist - Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor