如何在Ruby Shoes GUI中将函数与对象绑定?

时间:2016-02-15 17:08:48

标签: ruby shoes

如果我按回车键并且 @e_ln1成为焦点,我怎么才能拨打加号?如果我在@e_ln2处于焦点时点击输入,则@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

2 个答案:

答案 0 :(得分:1)

就目前我在鞋子3和鞋子4中所知,这是不可能的。在鞋子4中,甚至还有一个我们没有得到按键的错误。专注于输入字段。对不起: - /

我现在没有跑鞋3,但你可以看到并检查" \ n"到达输入字段并根据该字段进行检查。

否则我向implement a focussed? method

开了一个鞋4问题

答案 1 :(得分:1)

在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中输入即可触发