如何在Ruby Shoes GUI中将函数与对象绑定?
只有在按下enter键且焦点为e_ln1时,如何调用加法?如果我在如何在Ruby Shoes GUI中将函数与对象绑定?,ruby,shoes,Ruby,Shoes,只有在按下enter键且焦点为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_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中都是不可能的。在Shoes 4中甚至有一个bug,我们在关注输入字段时没有按键。对不起:-/ 我现在没有运行Shoes 3,但是您可以查看并检查“\n”是否到达输入字段,并基于此进行检查
否则,我打开了一个Shoes 4发行版,以这是不可能的,就我目前所知,在Shoes 3和Shoes 4中都是如此。在Shoes 4中甚至有一个bug,我们在关注输入字段时没有按键。对不起:-/ 我现在没有运行Shoes 3,但是您可以查看并检查“\n”是否到达输入字段,并基于此进行检查
否则,我在Shoes3.3.1中打开了一个Shoes 4问题,在编辑线上有一个完成事件
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
只需在感兴趣的编辑行中按enter键即可触发它。在Shoes3.3.1中,编辑行上有一个完成事件
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
只需在感兴趣的编辑行中按enter键即可触发它