Tkinter窗口的键盘事件

3 投票
2 回答
2278 浏览
提问于 2025-04-18 10:09

在Tkinter中,Windows键的事件是什么?我现在用的是Linux,但我也想知道Windows的情况。如果Mac上有类似的键,也请告诉我它的绑定方式。我想左边和右边的Windows键可能有不同的事件。

在我的程序中,Windows键似乎没有被识别。这个程序是用来捕捉所有按键并把它们打印到屏幕上的。我在网上搜索时没有找到相关的答案。我看到有提到Mod4和Windows键有关,但这似乎不是一个正确的Tkinter事件(我的错误提示是这么说的):

_tkinter.TclError: bad event type or keysym "Mod4"

例如,下面的代码会出现上述错误。

textWidget.bind("<Mod4>", self.myFunction)

2 个回答

4

经过一番查找,我发现了这个链接:https://www.tcl.tk/man/tcl8.6/TkCmd/keysyms.htm。在这里,<Win_L><Win_R> 似乎是Windows系统上正确的按键。这个是在Windows 7上用Python 3.4测试的结果。

0

好的,我找到了答案。其实很简单,我也不知道为什么在网上找不到这个信息。

这个事件叫做 Super_L(在Linux上是左侧的Windows键)。右侧的Windows键是 Super_R。不过我不确定这些事件在Windows和Mac上是否也能用。

总之,我的按键事件查找器没有找到这个事件的原因是因为我在电脑启动时运行了一个脚本,把左侧的Windows键定义为组合键。所以,它出于某种原因没有被识别。

撰写回答