如何撤消用户在按下按钮时在文本字段中输入的最后一个内容?

时间:2014-07-10 00:28:13

标签: python text widget undo

如果用户单击菜单按钮,则会触发一个功能,该功能将撤消用户上次键入的内容。我该怎么做呢?

2 个答案:

答案 0 :(得分:0)

监视文本框中的每个击键,并在每次更改堆栈结构后保存文本框的内容。当您遇到单词分隔符时,使用刚刚输入的整个单词的新条目替换已在堆栈中的该单词的单个字符更改。当用户按下撤消时,您只需将最后一个值从堆栈中弹出并将其放在文本框中。

这将允许您在用户键入单词时一次撤消一个单独的字符更改,如果用户完成输入,则将撤消最后一个单词。

答案 1 :(得分:0)

如何删除所选文字

from Tkinter import *

def clear():
    if txt.tag_ranges(SEL):
        txt.delete(SEL_FIRST, SEL_LAST)

master = Tk()

txt = Text(master)
txt.pack()

bt = Button(master, text='Delete selected', command=clear)
bt.pack()

master.mainloop()