绑定方括号[与tkinter

时间:2019-04-24 20:23:12

标签: python tkinter

我正在尝试将左方括号[绑定到我的tkinter文本小部件。 我已经多次浏览了文档和论坛,并尝试了所有我能想到的组合。 Control-Alt-Key-8,Key-bracketleft,Key-topleftsqbracket等。 有人知道吗?

我尝试了以下方法: 我还尝试将其与根绑定。

root = Tk()

text = Text(root)

text.pack()

def complete_it(evt=None):
    print('You pressed "[" ')

text.bind('[', complete_it)
text.bind("[", complete_it)
text.bind('<[>', complete_it)
text.bind("<[>", complete_it)
text.bind("<Control-Alt-8>", complete_it)
text.bind("<Control-Alt-Key-8>", complete_it)
text.bind("<bracketleft>", complete_it)
text.bind('<Control-Alt-8>', complete_it)
text.bind('<Control-Alt-Key-8>', complete_it)
text.bind("<Key-[>", complete_it)
text.bind("<topleftsqbracket>", complete_it)

root.mainloop()

1 个答案:

答案 0 :(得分:1)

这很简单,只需使用text.bind('[', lambda evt: func)See this site for more details

示例:

from tkinter import *

root = Tk()

text = Text(root)
text.pack()

def complete_it(evt=None):
    print('You pressed "[" ')

text.bind('[', complete_it)

mainloop()

此绑定仅在文本小部件处于焦点时才起作用。如果您希望绑定起作用,请始终使用root.bind()

希望这会有所帮助。