我目前正在使用Tcl 8.4.11版本。 我想知道我可以使用Listbox小部件的绑定功能吗?
例如,我有一组项目将显示在列表框上... 我没有使用鼠标点击来选择项目,而是在第一次点击列表框中的任何项目后,使用键盘上下键来选择所需的项目。
目前,我使用以下命令进行测试...
$listbox_a bindText <ButtonPress-1> "$listbox_a selection set"
此命令允许我使用鼠标选择/选择列表框项目... 但随后,我想用键盘向上和向下箭头选择不同的项目......难以实现这个吗?
<KeyPress>
&amp; <Key>
我的测试中也没有工作...... :(
请指教......非常感谢...
答案 0 :(得分:0)
列表框已经将键绑定作为其类绑定的一部分。您所要做的就是为<KeyPress-Return>
事件添加一个绑定(为简洁起见,通常写为<Return>
)到您想要的特定列表框;类绑定不会为此定义任何内容,因此可以免费使用而不必担心。 (请记住,只有在窗口小部件具有焦点时才会处理关键事件。)
您希望在绑定中使用列表框的curselection
方法来发现实际选择的内容,当然。如果您可以升级到Tk的支持的版本(8.5或更高版本),那么您可以使用<<ListboxSelect>>
虚拟事件来跟踪更改(它是在整个真实范围之后生成的)改变所选内容的事件,但这里没有必要。