将每个键/单击绑定到窗口

时间:2017-11-20 21:48:47

标签: python-3.x tkinter key-bindings

我想将键盘上的每个键绑定到窗口,这样当它被单击时,它将运行我的方法,而不是其他任何东西。

我发现root.bind_all("<Key>", MyFunction)将绑定每个密钥。但是当我按下Windows键时,它仍然会打开开始菜单。 Alt-Tab也不会因更改标签而停止。

是否存在涵盖所有密钥的密钥绑定,或者是阻止客户端强行退出程序的更好方法? (我使用root.attributes("-fullscreen", 1)使窗口看起来不可放开&#39;)

感谢。

1 个答案:

答案 0 :(得分:3)

  

或者他们是阻止客户强制离开程序的更好方法吗?

没有。操作系统不允许这样做。否则,用户将无法离开您正在编写的病毒。

操作系统首先评估击键,然后将相关的击键传递给程序。传递的那些可以按照你拥有它的方式捕获。禁用开始菜单键等操作必须在操作系统设置中完成。

也就是说,每个操作系统都可以使用挂钩。例如,here is one for Ubuntu Unity禁用Windows密钥。