[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