ruby - 如何在 Ruby Tk 中绑定(bind)按键序列?

标签 ruby events sequence tk-toolkit

我正在尝试在 Ruby 的 Tk 小部件中绑定(bind)按键序列 Control_L + Up。更明确地说,我希望当“Control_Left”和“Arrow-Up”同时按下时运行一个过程。

到目前为止我还没有成功,我尝试了很多组合查看 TclTk、Python 和 Perl 文档,但我找不到出路。

应该类似于

 widget.bind("Control_L Up", proc {
  puts "-----> sequence ok  "  
 })

附: Control_LUp 两个事件被一一正确捕获。

最佳答案

我找到了它,对于将来可能需要它的人,这是工作片段

require 'tk'
root = TkRoot.new()
root.minsize [400, 300]
root.geometry "+200+200"
root.bind('Control-Key-Up', proc { puts "presssed Control + Up"; } )
Tk.mainloop()

请注意,(1) 即使在 'Control Key Up' 形式下它也能工作。如 TclTk 文档中所述。但如果写成 '<Control-Key-Up>' 就不行了,这是默认的 Tk 语法。

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

相关文章:

ruby-on-rails - rails 3 的回形针安装问题

ruby - Ruby 中的 XML 数字签名

ruby - 用于深层嵌套元素的 XPath?

在文本框失去焦点之前,jQuery 文本框更改事件不会触发?

ios - 将触摸事件转发到另一个被接收事件的 View 部分覆盖的 View

linux - 关于 Linux/Ubuntu 中 2 个图像序列的比较

c++ - 如何将位序列放入字节(C/C++)

ruby - 如何获取用 | 分隔的字符串或者 ,

java - 在每个无状态 bean 方法之前执行一些逻辑

c - 查找任何范围的序列