【发布时间】:2012-12-14 10:26:37
【问题描述】:
我正在编写的程序中的快捷方式用完了,而且我发现其中很大一部分无法启用。 我开始认为它可能与操作系统或桌面相关,所以我告诉你我在 KDE 下运行 Fedora Linux。
这是我用来探索钥匙问题的小程序:
#!/usr/bin/env python
from Tkinter import *
root = Tk()
text=Text(root)
text.pack(side=LEFT, fill=BOTH, expand = YES)
def key(event):
print "pressed", repr(event.char)
def testfun(a):
print"test worked, pressed %s: control key %s" % (repr(event.char),str(a))
text.bind("<Key>", key)
for i in range(10):
text.bind('<Control-'+str(i)+'>', lambda event,arg=i:testfun(arg,event))
mainloop()
(我对 ctrl-number 快捷键没有问题,但让我们从这里开始)。
我的问题:Ctrl-6...Ctrl-0被拦截了,但是我找不到办法让Ctrl-1..Ctrl-5!
1..6 的示例输出为:
1:按下'1'
2: 按下''
3: 按下'\x1b'
4: 按下'\x1c'
5: 按下'\x1d'
6:测试成功,按下'\x1e':控制键6
我还尝试将快捷方式绑定到 root,并执行 return 'break',但没有任何效果。
你有什么想法吗?
谢谢!
【问题讨论】:
标签: python tkinter keyboard-shortcuts