如何检查tkinter.Text撤消堆栈?

如何检查tkinter.Text撤消堆栈?,tkinter,tk,Tkinter,Tk,Tk文档讨论了撤销堆栈,但没有提到是否可以直接检查它 我想在撤消堆栈耗尽时将撤消命令显示为非活动。跟踪undo-s和redo-s是我唯一的机会,还是有办法询问tk堆栈是否为空?没有办法明确检查undo堆栈。但是,您可以使用modified标志来实现类似的目的 官员说: 撤消机制也链接到修改标志。这意味着 撤销或重做更改可以收回修改过的文本小部件 到未修改的状态,反之亦然。将设置修改的标志 自动恢复到适当的状态。这种自动联轴器不起作用 当用户已设置修改标志时不工作,直到 标志已重新设置 我想使用m

Tk文档讨论了撤销堆栈,但没有提到是否可以直接检查它


我想在撤消堆栈耗尽时将撤消命令显示为非活动。跟踪undo-s和redo-s是我唯一的机会,还是有办法询问tk堆栈是否为空?

没有办法明确检查undo堆栈。但是,您可以使用
modified
标志来实现类似的目的

官员说:

撤消机制也链接到修改标志。这意味着 撤销或重做更改可以收回修改过的文本小部件 到未修改的状态,反之亦然。将设置修改的标志 自动恢复到适当的状态。这种自动联轴器不起作用 当用户已设置修改标志时不工作,直到 标志已重新设置


我想使用modified标志来指示编辑器是否有任何未保存的更改。。。。但也许我应该将其保留为撤消,并手动跟踪我保存的/脏的信息。谢谢你的主意!Tkinter文本小部件的一个挑战是,
edit\u modified()
方法似乎忽略/未检测到标记。在不更改文本的情况下更改标记(至少部分标记)并不构成对文本小部件的“修改”。@Gary02127:正确。修改标志仅反映实际文本中的更改。