dux...@gmail.com wrote: > Hello > > I have some weird results when I run my code which is meant to display a > canvas and a turtle and some text with the turtles coordinates. > > Basically the turtle coordinates do not seem to correspond with the TK > create_text coordinates. > > > t1.goto(100,100) > > canvas_id = cv1.create_text(t1.xcor(), t1.ycor(), > font=("Purisa",12),anchor="nw") > > cv1.insert(canvas_id, 0, t1.pos()) > > I end up with this output: > http://i1025.photobucket.com/albums/y319/duxbuz/coord- issues_zps1fca6d2b.jpg > > Could anyone help please?
The image you provide suggests (x, y) --> (x, -y), but a quick look into the source reveals that it is a little more complex: >>> print inspect.getsource(turtle._Screen._write) def _write(self, pos, txt, align, font, pencolor): """Write txt at pos in canvas with specified font and color. Return text item and x-coord of right bottom corner of text's bounding box.""" x, y = pos x = x * self.xscale y = y * self.yscale anchor = {"left":"sw", "center":"s", "right":"se" } item = self.cv.create_text(x-1, -y, text = txt, anchor = anchor[align], fill = pencolor, font = font) x0, y0, x1, y1 = self.cv.bbox(item) self.cv.update() return item, x1-1 Rather than repeating the above calculation in your own code I suggest that you use turtle.write() >>> import turtle >>> turtle = turtle.getturtle() >>> turtle.goto(100, 100) >>> turtle.write("Hello, world!") -- https://mail.python.org/mailman/listinfo/python-list