GoodCoder666的个人博客

tkinter Text edit_undo()/edit_redo() 没反应解决方法

2020-03-24 · 1 min read
Bug/错误解决 Python

问题

tkinter.Text调用edit_undo()edit_redo()没反应。

问题分析

这是因为没有设置Textundo参数为True,设置后才能“激活”edit_undo()edit_redo()
这个错误难发现是因为它没有报错,查了好多资料才发现……
希望以后python官方能改进这点。

解决方法

from tkinter import *

root = Tk()
root.title('Undo/redo test')
text = Text(root, undo=True)
#                 ^^^^^^^^^
#                   重要!
text.insert(END, 'Hello tkinter!')
text.edit_undo()
text.edit_redo()

root.mainloop()