我用tkinter文本编写了一个简单的程序,并将向下箭头键与一个函数绑定在一起,但当我按下down键时,CURRENT和INSERT光标不正确。
首先,当前有时不更新,有时更新错误的索引
其次,INSERT总是更新的,但是它的索引是最后一个位置,例如,如果当前索引是第1行第1列,那么我按Down键,打印结果仍然是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)
这与tkinter处理事件的顺序有关。简而言之,小部件上的自定义绑定是在默认绑定之前处理的,并且是默认绑定导致文本被插入或删除、索引更改等
查看更多信息:Basic query regarding bindtags in tkinter和How to bind self events in Tkinter Text widget after it will binded by Text widget?和Why Text cursor coordinates are not updated correctly?
您可以使用在文本更改后引发的
KeyRelease
。在顺便说一句,
CURRENT
对应于最接近鼠标指针的字符。(与插入光标无关)相关问题 更多 >
编程相关推荐