如何在Ruby Tk 中绑定一个按键序列?
How to bind a key sequence in Ruby Tk?
我正在尝试在 Ruby 的 Tk 小部件中绑定键序列 Control_L
+ Up
。更明确地说,当 "Control_Left" 和 "Arrow-Up" 被压在一起时,我想要一个 运行 的过程。
直到现在我还没有成功,我尝试了很多组合查看 TclTk、Python 和 Perl 文档,但我找不到出路。
应该类似于
widget.bind("Control_L Up", proc {
puts "-----> sequence ok "
})
p.s。 Control_L
和 Up
这两个事件一一被正确捕获。
我找到了,对于以后可能需要它的人,这是工作片段
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) 它甚至可以按照 TclTk 文档中所述的 'Control Key Up'
形式使用。但是如果你把它写成 '<Control-Key-Up>'
它就不起作用了,这是默认的 Tk 语法。
我正在尝试在 Ruby 的 Tk 小部件中绑定键序列 Control_L
+ Up
。更明确地说,当 "Control_Left" 和 "Arrow-Up" 被压在一起时,我想要一个 运行 的过程。
直到现在我还没有成功,我尝试了很多组合查看 TclTk、Python 和 Perl 文档,但我找不到出路。
应该类似于
widget.bind("Control_L Up", proc {
puts "-----> sequence ok "
})
p.s。 Control_L
和 Up
这两个事件一一被正确捕获。
我找到了,对于以后可能需要它的人,这是工作片段
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) 它甚至可以按照 TclTk 文档中所述的 'Control Key Up'
形式使用。但是如果你把它写成 '<Control-Key-Up>'
它就不起作用了,这是默认的 Tk 语法。