如何在 Ruby Shoes GUI 中将函数与对象绑定?
How can I bind function with object in Ruby Shoes GUI?
如何只在按下回车键时才调用加法 并且 @e_ln1
处于焦点?如果我在 @e_ln2
处于焦点时单击 enter,也会执行 @e_ln1
中的添加,但我不想要它。
Shoes.app do
@e_ln1 = edit_line(width: 150, height: 20)
@e_ln2 = edit_line(width: 150, height: 20, left: 0, top: 60)
keypress do |k|
if k == "\n"
@e_ln1.text = @e_ln1.text.to_i + 1
end
end
end
据我所知,目前在第 3 版和第 4 版中,这是不可能的。在第 4 版中,甚至存在一个错误,即当焦点位于输入字段时我们无法获得按键。抱歉:-/
我现在没有鞋子 3 运行,但你可以查看并检查“\n”是否到达输入字段并据此进行检查。
要不然我开个Shoes 4 issue给implement a focussed?
method
Shoes3.3.1 在 edit_line
上有一个完成事件
Shoes.app do
@e_ln1 = edit_line(width: 150, height: 25)
@e_ln2 = edit_line(width: 150, height: 25, left: 0, top: 60)
@e_ln1.finish = proc { @e_ln1.text = @e_ln1.text.to_i + 1 }
end
只需在感兴趣的 edit_line 中按回车键即可触发它
如何只在按下回车键时才调用加法 并且 @e_ln1
处于焦点?如果我在 @e_ln2
处于焦点时单击 enter,也会执行 @e_ln1
中的添加,但我不想要它。
Shoes.app do
@e_ln1 = edit_line(width: 150, height: 20)
@e_ln2 = edit_line(width: 150, height: 20, left: 0, top: 60)
keypress do |k|
if k == "\n"
@e_ln1.text = @e_ln1.text.to_i + 1
end
end
end
据我所知,目前在第 3 版和第 4 版中,这是不可能的。在第 4 版中,甚至存在一个错误,即当焦点位于输入字段时我们无法获得按键。抱歉:-/
我现在没有鞋子 3 运行,但你可以查看并检查“\n”是否到达输入字段并据此进行检查。
要不然我开个Shoes 4 issue给implement a focussed?
method
Shoes3.3.1 在 edit_line
上有一个完成事件Shoes.app do
@e_ln1 = edit_line(width: 150, height: 25)
@e_ln2 = edit_line(width: 150, height: 25, left: 0, top: 60)
@e_ln1.finish = proc { @e_ln1.text = @e_ln1.text.to_i + 1 }
end
只需在感兴趣的 edit_line 中按回车键即可触发它