[Tkinter-discuss] 回复: bind between event and callback

守株待兔 1248283536 at qq.com
Wed Aug 17 11:06:28 CEST 2011


why in the following code,there is no  "frame.focus_set()" in the code ,it can run ,why??
from Tkinter import *
root = Tk()
def callback(event):
   print "i am here"

frame = Frame(root, width=100, height=100)
frame.bind("<Button-1>", callback)
frame.pack()
root.mainloop()
 
 
------------------ 原始邮件 ------------------
发件人: "Firat Ozgul"<ozgulfirat at gmail.com>;
发送时间: 2011年8月17日(星期三) 中午1:46
收件人: "守株待兔"<1248283536 at qq.com>; 

主题: Re: [Tkinter-discuss] bind between event and callback

 
 The reason why you get no response is the lack of focus when you first
create the frame. Therefore you should set the focus on frame
manually, like this:

[code]
from Tkinter import *
root = Tk()
def callback(event):
    print "i am here"

frame = Frame(root, width=100, height=100)
frame.bind("<Key>", callback)
frame.focus_set()
frame.pack()
root.mainloop()
[/code]

2011/8/17 守株待兔 <1248283536 at qq.com>:
> code1
> from Tkinter import *
> root = Tk()
> def callback(event):
>     print "i am here"
>
> frame = Frame(root, width=100, height=100)
> frame.bind("<Return>", callback)
> frame.pack()
> root.mainloop()
>
> when  i press  "enter",there is no output  "i am here"
> code2
> from Tkinter import *
> root = Tk()
> def callback(event):
>     print "i am here"
>
> frame = Frame(root, width=100, height=100)
> frame.bind("<Key>", callback)
> frame.pack()
> root.mainloop()
>
> when  i press  any key ,there is no output  "i am here"
>
> _______________________________________________
> Tkinter-discuss mailing list
> Tkinter-discuss at python.org
> http://mail.python.org/mailman/listinfo/tkinter-discuss
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tkinter-discuss/attachments/20110817/b8c2ac40/attachment.html>


More information about the Tkinter-discuss mailing list