Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在';退格';删除文本小部件?_Python_Tkinter_Text - Fatal编程技术网

Python 如何在';退格';删除文本小部件?

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

按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导入*
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()