Ruby TK组合框选择不会消失

Ruby TK Combobox selection won't disappear

这是我的代码:

combobox = Tk::Tile::Combobox.new (root) {
  values ["Folders","Files"]
  state "readonly"
  grid "row" => 1, "column" => 0, "sticky" => "w"
}

在我 select 其中一个值之后,我希望蓝色 select 离子消失。

所以我尝试使用这个 combobox.selection_clear,但它根本不起作用。 如果我将小部件设置为 'normal' 而不是 'readonly',那么这将起作用。但在正常状态下,组合框的内容可以由用户修改,我想避免这种情况,也删除蓝色 selection。

我也试过TkSelection.clear(combobox),但也没用。

这是我的 ruby 版本:

ruby 2.3.3p222 (2016-11-21 revision 56859) [x64-mingw32] 

我不知道这些方法是否会导致错误,但我找到了解决方案..

我绑定了一个虚拟事件:

combobox.bind("<ComboboxSelected>") {combobox.selection_clear}

但这不会删除上面问题中所说的蓝色突出显示。

相反,如果我从组合框中移除焦点,并将其设置在一个框架或另一个像这样的小部件上,

combobox.bind("<ComboboxSelected>") {combobox.selection_clear; frame.focus} 

所以蓝色部分会消失.. 上面的图片现在看起来像这样:

frame.focus 改变焦点成功了。