[Tkinter-discuss] scrolled canvas ,strange problem

contro opinion contropinion at gmail.com
Sun Sep 4 10:54:32 CEST 2011


think for  John McMonagle

only one  sentence is wrong ,i  revise it :

self.xsqueen=[50+4*i  for  i  in  range(0,self.pairs)]

it is ok,now
^_^

在 2011年9月3日 下午5:31,contro opinion <contropinion at gmail.com>写道:

> i have written a program in tkinter to draw stock  graph,there  are two
> strange thing i  can't understand
> the  attachment is  'AAU'  data  file(attachment 1).when you download it
> ,please  save it in  /tmp/AAU
> there  is  a  scrolled  canvas  in  it ,
>
> 1.strang  long  line,please  see my  attachment.
> i  have  see  my  data  ,my  formulation ,no wrong,but the line is so
> long!!
> 2.there is  no  motion  event reaction  in  the  right  of  canvas,only
> motion event  reaction in the  left  of  canvas.
> 3.i have round function ,but  the output is still  more  fractions  than
> 2.
>
>
>
>
>
> ------------------ 原始邮件 ------------------
> *发件人:* "John McMonagle"<jmcmonagle at velseis.com>;
> *发送时间:* 2011年9月2日(星期五) 中午1:48
> *收件人:* "1248283536"<1248283536 at qq.com>;
> *抄送:* "Tkinter-discuss"<tkinter-discuss at python.org>;
> *主题:* Re: [Tkinter-discuss] tkinter and cursor
>
> On 02/09/11 13:59, 守株待兔 wrote:
>
> >
> > you can get a  figure  with the program, when you move mouse on the
> canvas (figure),you can see the coordinate on the  right corner , i want to
> make it in tkinter,there is no "move click in the canvas" event in
> tkinter,how to make it in tkinter??
> >
>
> You can use the "<Motion>" event.  You also should be converting the
> event.x and event.y to canvas coordinates.  This is especially important
> when your canvas also includes scrollbars.
>
>
> So, using your code from previous posts, from the myprint function onwards,
>
>
>
> def  myprint(event):
>     # convert the event coordinates to canvas coordinates
>     x = canvas.canvasx(event.x)
>     y = canvas.canvasy(event.y)
>
>     # find the poistion in the top right corner of your canvas widget
>     # less a little bit so as to see the displayed text
>     cx = canvas.winfo_width() - 10
>     cy = 10
>
>     # delete previous displayed text
>     canvas.delete('coords')
>
>     # display the coordinates
>     canvas.create_text(cx,cy,anchor=E, text='%d,%d' % (x,y), tags='coords')
>
> canvas.bind("<Motion>", myprint)
>
> root.mainloop()
>
>
> This will display the canvas coordinate in the top right corner of the
> canvas widget.
>
> Suggested reading on Canvas:
>
> http://effbot.org/tkinterbook/canvas.htm
>
> Suggested reading on events:
>
> http://effbot.org/tkinterbook/tkinter-events-and-bindings.htm
>
> Regarsd,
>
> John
>
> --
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tkinter-discuss/attachments/20110904/d7b2cd84/attachment.html>


More information about the Tkinter-discuss mailing list