ruby - 如何在 Ruby Tk 中绑定(bind)按键事件

标签 ruby tk-toolkit

我想在控制台中显示我在 Tk 窗口中按下的内容。

我写了下面的代码:

require 'tk'

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

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

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

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

最佳答案

也许是我。将绑定(bind)更改为:

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

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

关于ruby - 如何在 Ruby Tk 中绑定(bind)按键事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36264990/

相关文章:

ruby-on-rails - Rails 3. simple_format 不要将结果包装在段落标签中

ruby - 如何根据 Ruby 的 OpenApi 规范验证 JSON 有效负载?

mysql - 如何在 Mac OS X 上安装 MySQL gem

python - 如何使 tkinter 输入字段强制输入一些文本?

Python:开始使用 tk,小部件不在网格上调整大小?

tcl - Tk 的剪贴板命令有时不设置系统剪贴板

perl - 更改 Tk::Tree 的 "-browsecmd"回调的行为

ruby - 作为 Google Apps 管理员,如何使用 Ruby 为用户创建 Google 电子表格?

ruby-on-rails - Rails:fe_sendauth:Ruby 未提供密码 (PG::ConnectionBad),但在 Rails 中正常

Ruby,使用包含 TK GUI 的 ocra 部署一个 exe