本文同步发布于:https://goodcoder666.github.io/post/tkinter-text-undo-redo/
问题
tkinter.Text调用edit_undo()和edit_redo()没反应。
问题分析
这是因为没有设置Text的undo参数为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()

本文介绍Tkinter中Text组件使用edit_undo()和edit_redo()实现撤销与重做功能的问题解决方法。通常,若这两个方法不起作用,是因为未设置Text组件的undo参数为True。文章提供了一个示例代码,演示如何正确启用这些功能。
672

被折叠的 条评论
为什么被折叠?



