如何将Tkinter Text小部件的撤消/重做历史记录复制到另一个小部件中

问题描述 投票:1回答:1

我使用Python 3.6.5获得了一个基于Tkinter的GUI程序。

我有一个临时窗口,里面有一些Text小部件(和其他东西)。临时窗口关闭时整个窗口被破坏。但是,我想在下次打开(并重新构建)时保留撤消/重做历史记录以及某些特定Text小部件中的任何文本。以另一种方式重新编程当然是可能的,但考虑到事情的设置,可能是一项不必要的大量工作(尽管如果你有想法,无论设置如何都应该有效,请随时告诉我)。更改设置可能很容易引入错误。

具有不同小部件的两个不同窗口需要在一些类似小部件之间共享数据(并且我想扩展它以包括undo-redo历史)。我相信不同的父母是窗户被毁坏的一部分,但我可能是错的(可能还有其他原因)。

无论如何,我想知道,文本小部件的撤消/重做历史存储在哪里?如果我可以在窗口关闭之前以某种方式复制它并将其放入新构建的窗口小部件(构建它的任何窗口),那将是很好的。

我正在添加tk标签,因为我查看了tkinter的Python源代码,并没有找到任何特别有用的东西(所以也许那些使用TCL或者其他人会知道)。

我意识到可能无法访问存储历史记录的变量,但我认为值得询问,以防万一。

python python-3.x tkinter widget tk
1个回答
1
投票

不,您无法保存文本窗口小部件的撤消/重做历史记录,销毁窗口小部件,然后将历史记录重新应用到新窗口小部件。

最好的解决方案是不破坏小部件。只需隐藏它然后重新显示它而不是破坏它并重新创建它。

© www.soinside.com 2019 - 2024. All rights reserved.