2016-03-28 21 views
0

我想在控制台中显示我在Tk窗口中按下的内容。如何在Ruby Tk中绑定关键事件

我写了下面的代码:

require 'tk' 

root = TkRoot.new 
entry = TkEntry.new(root) do 
    pack 
end 

entry.bind("Key", proc {p "key pressed"}) 
Tk.mainloop 

,如果我按任意键显示key pressed

但我想显示我按的键,而不是一个常量字符串。谁能帮我?

回答

3

也许我。更改绑定到:

entry.bind("Key", proc{|k| p "key pressed #{k}"}, "%K") 

根据格式,使用%A(ASCII码),%K(keysym的名称),或%N(键符号)作为最后一个参数。