Python 如何在';退格';删除文本小部件?
按BackSpace键后,INSERT的值将更改,但我得到了旧位置。我怎样才能得到动作后的位置 例如: 这是一本书 “|”是光标,INSERT的值为1.2 当按下BackSpace时,我首先在的事件处理程序中得到1.2,然后光标移动到1.1 同样,当我打字时,这是一本书Python 如何在';退格';删除文本小部件?,python,tkinter,text,Python,Tkinter,Text,按BackSpace键后,INSERT的值将更改,但我得到了旧位置。我怎样才能得到动作后的位置 例如: 这是一本书 “|”是光标,INSERT的值为1.2 当按下BackSpace时,我首先在的事件处理程序中得到1.2,然后光标移动到1.1 同样,当我打字时,这是一本书 T=>1.0,h=>1.1,…,T=>1.1,h=>1.2,…, 有很多键可以改变光标的位置,我无法得到最终的位置来减少插入总是0.1 有没有办法得到最后的位置?或者处理程序可以在文本小部件之后工作 从tkinter导入* de
T=>1.0,h=>1.1,…,
T=>1.1,h=>1.2,…,
有很多键可以改变光标的位置,我无法得到最终的位置来减少插入总是0.1
有没有办法得到最后的位置?或者处理程序可以在文本小部件之后工作
从tkinter导入*
def操作(事件):
打印(事件)
位置=t.索引(插入)
印刷(职位)
root=Tk()
t=文本(根)
t、 绑定(“”,操作)
t、 包()
root.mainloop()
期望值:1.1
实际结果:1.2这是因为事件''是在处理关键效果之前触发的。直接绑定到小部件的事件总是发生在类事件之前,小部件中文本的版本是绑定到键盘的类 您需要的是绑定到
''
,该绑定将在处理密钥后触发:
from tkinter import *
def action(event):
print(event)
position = t.index(INSERT)
print(position)
root = Tk()
t = Text(root)
t.bind('<KeyRelease>', action)
t.pack()
root.mainloop()
从tkinter导入*
def操作(事件):
打印(事件)
位置=t.索引(插入)
印刷(职位)
root=Tk()
t=文本(根)
t、 绑定(“”,操作)
t、 包()
root.mainloop()
这是因为事件''
是在处理按键效果之前触发的。直接绑定到小部件的事件总是发生在类事件之前,小部件中文本的版本是绑定到键盘的类
您需要的是绑定到''
,该绑定将在处理密钥后触发:
from tkinter import *
def action(event):
print(event)
position = t.index(INSERT)
print(position)
root = Tk()
t = Text(root)
t.bind('<KeyRelease>', action)
t.pack()
root.mainloop()
从tkinter导入*
def操作(事件):
打印(事件)
位置=t.索引(插入)
印刷(职位)
root=Tk()
t=文本(根)
t、 绑定(“”,操作)
t、 包()
root.mainloop()