我正在寻找一种方法,可以具有加入用Python语言编写的Tkinter文本小部件的undo撤消/重做堆栈的功能.有没有类似的方法来以编程方式合并用户输入undo撤消/重做堆栈,或以编程方式将编程更改合并到Tkinter文本小部件?
例如,我希望拥有以下内容:
import tkinter as tk
root = tk.Tk()
root.title("Stackoverflow question")
text = tk.Text(root)
text.some_method()
text.insert(tk.END, "a")
text.insert(tk.END, "b")
text.insert(tk.END, "c")
text.reversing_method()
text.pack()
root.mainloop()
如您所见,在呼叫some_method
之后,用户将在以编程方式输入文本(and by user)之后撤销整个字符串"abc"(当然,在重做步骤之后,字符串"abc"将再次成对返回,但不是按"a"、"b"和"c"的顺序).然而,我也想寻求一种方法,当调用reversing_method
时,用户可以通过编程或逐个undo撤消输入的文本.