我到处寻找答案,所以我来到这里。问题很简单:为什么绑定按键(例如Escape)对帧不起作用?例如:
pack [frame .f]
bind .f <Escape> exit; #won't work
答案 0 :(得分:1)
框架可以很好地处理关键事件,但通常不会,因为它们通常没有焦点,并且在您单击它们或使用 Tab 循环时不会默认使用它围绕着可以集中精力的事情。
最直接的解决方法就是:
focus .f
这会使键盘事件转到现在的框架。但是,您可能希望使用它,以便您可以点击聚焦:
bind .f <1> {focus %W}
这样小部件就会参与tab-traversal:
.f configure -takefocus 1
最后,当框架具有焦点时,框架不会显示任何内容,因为将其“高光厚度”配置为零宽度。让我们改变一下:
.f configure -highlightthickness 2
这应该是你所需要的(或者至少它在我测试时对我有用)。