主题: Re: [Tkinter-discuss] get root.winfo_pointerxy()
On Thu, Sep 01, 2011 at 10:37:31AM -0400, Douglas S. Blank wrote: . . .
> On 09/01/2011 10:21 AM, wrote: > >def myprint(): > > print root.winfo_pointerxy() > > > >canvas.bind("<Button-1>",myprint) > > When you bind a function to the canvas, it is expecting a function that > takes an argument (which is probably the object to which the binding is > bound). > > So, you could just allow myprint to take an argument, and ignore it: > > def myprint(arg): > print root.winfo_pointerxy()
. . . I entirely agree with the counsel Dr. Blank has provided. While I expect the original questioner has all he needs to move forward, I'll provide a bit more detail for the benefit of other readers.
Let's look at "arg", "which is probably the object to which the binding is bound". It's not; it's the detected *event* (from which that object can be calculated, though) <URL: http://www.pythonware.com/library/tkinter/introduction/events-and-bindings.htm >.
That's not all. One could temporarily update myprint's definition to be something like