我正在编写的程序中的快捷方式用完了,而且其中有很大一部分我发现无法启用。我开始认为它可能与操作系统或桌面相关,所以我告诉你我在 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',但没有任何效果。
你有什么主意吗?
谢谢!