Python 输入文本后,调用tkinter.Text绑定

Python 输入文本后,调用tkinter.Text绑定,python,tkinter,Python,Tkinter,在我的项目中,我试图在键入tkinter.Text小部件时添加匹配的括号。基本上,当我键入()时,程序会自动插入) 对于这个问题,我能找到的唯一答案是。我尝试了所选答案的所有三个选项,但都不起作用。答案是10年前的,所以我认为它已经过时了 这是我到目前为止所拥有的。代码可以工作,但结束括号插入在开始括号之前。(看起来像是)()。如何使结束括号插入到起始括号之后 text_box.bind("<(>", lambda n: text_box.insert(float

在我的项目中,我试图在键入
tkinter.Text
小部件时添加匹配的括号。基本上,当我键入
)时,程序会自动插入

对于这个问题,我能找到的唯一答案是。我尝试了所选答案的所有三个选项,但都不起作用。答案是10年前的,所以我认为它已经过时了

这是我到目前为止所拥有的。代码可以工作,但结束括号插入在开始括号之前。(看起来像是
)(
)。如何使结束括号插入到起始括号之后

text_box.bind("<(>", lambda n: text_box.insert(float(text_box.index("insert")) + 1, ")"))
text\u-box.bind(“,lambda n:text\u-box.insert(float(text\u-box.index(“insert”))+1,”)
如果将结束括号放在光标后面(光标左侧为
),右侧为


感谢您的回答

您应该在插入位置插入结束符(代码>),然后将插入光标向后移动1个字符:

def右括号(事件):
日志框。插入(“插入“,”)#添加结束)
logbox.mark_set(“插入”、“插入-1c”)#向后移动插入光标
文本框。绑定(“(”,右括号)

“答案已经10年了,所以我认为它已经过时了。”-不,答案没有过时。这种行为是如何工作的基础,几十年来一直没有改变。从技术上讲,这是可行的,但我仍然需要找到一种工作方法,使绑定在输入文本后执行:(