Python tkinter文本插入当前光标

Python tkinter文本插入当前光标,python,python-3.x,insert,tkinter,cursor,Python,Python 3.x,Insert,Tkinter,Cursor,我用tkinter文本编写了一个简单的程序,并用一个函数绑定了arrow down键,但当我按下down键时,CURRENT和INSERT光标不正确。 首先,当前索引有时不更新,有时更新的索引错误 第二,INSERT总是更新的,但是它的索引是最后一个位置,例如,如果当前索引是第1行第1列,那么我按下向下键,打印的结果仍然是1.1(第1行第1列),但我的光标已经到达第2行。 有人有这方面的经验吗?提前谢谢 def tipKeyDown(event): pos=text.index(CURR

我用tkinter文本编写了一个简单的程序,并用一个函数绑定了arrow down键,但当我按下down键时,CURRENT和INSERT光标不正确。
首先,当前索引有时不更新,有时更新的索引错误
第二,INSERT总是更新的,但是它的索引是最后一个位置,例如,如果当前索引是第1行第1列,那么我按下向下键,打印的结果仍然是1.1(第1行第1列),但我的光标已经到达第2行。
有人有这方面的经验吗?提前谢谢

def tipKeyDown(event):
    pos=text.index(CURRENT)
    print(pos)
    pos=text.index(INSERT)
    print(pos)

text = Text(textFrm, relief=SOLID)
text.bind('<Button-1>', tipButton1)
text.bind('<Down>', tipKeyDown)
def tipKeyDown(事件):
pos=文本索引(当前)
打印(pos)
pos=文本索引(插入)
打印(pos)
text=text(textFrm,浮雕=实心)
text.bind(“”,tipButton1)
text.bind(“”,tipKeyDown)

您可以使用
按键释放
,该按钮在文本更改后启动

text.bind('<KeyRelease-Down>', tipKeyDown)
text.bind(“”,tipKeyDown)

顺便说一句,
CURRENT
对应于最接近鼠标指针的字符。(与插入光标无关)

这与tkinter处理事件的顺序有关。简而言之,小部件上的自定义绑定是在默认绑定之前处理的,是默认绑定导致文本被插入或删除,索引被更改,等等


更多信息请参见此处:非常感谢,这确实有效。我还有一个问题,鼠标有这种问题吗?我的意思是释放左键单击后是否需要绑定事件。如果是的话,bind first参数的关键字是什么?@xuanzhui,我没有尝试鼠标点击。但是有
按钮按下
按钮释放
按键
按键释放
。明白了。再次感谢你的帮助