2016-03-28 17 views
0

Bir Tk penceresinde ne bastığımı konsolda görüntülemek istiyorum. Ben herhangi bir tuşa basarsanızRuby Tk'de bir anahtar olay nasıl bağlanır

require 'tk' 

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

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

O key pressed görüntüler:

Aşağıdaki kodu yazdım.

Ancak, sabit bir dize değil, bastığım tuşun görüntülenmesini istiyorum. Kim bana yardım edebilir?

cevap

3

Belki ben. Bağlama değiştirin:

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

biçimine bağlı olarak, %A (ASCII kodu) kullanabilirsiniz, son argüman olarak %K (keysym adı) veya %N (keysym numarası).

İlgili konular