我的小部件包含许多QTextEdit
个控件。实际上,所有这些QTextEdits
都安装为QTreeWidget
的项目小部件。所有这些控件都可以编辑。
因此,我需要实现统一的“撤消堆栈”,在我的小部件中处理control + "Z/Y"
而不是每个QTextEdit
控件。为此,我必须在某个QTextEdit
创建新的撤消项目时记录。因此,当我按control+Z
时,它将撤消QTextEdit
控件的编辑(通过调用其undo()方法),再次按下可能会撤消另一个QTextEdit
控件的编辑(通过调用其撤消( ) 方法)。
但是当通过文档搜索时,我发现没有这样的信号通知我为QTextEdit
创建了一个新的撤消项目。而且我不知道QTextEdit
的撤消策略,有时候多个按键被压缩成一个单独的撤销项,所以使用keypress eventfilter并记录我自己的QUndoCommand
可能不是一个好主意,没有提到QTextEdit
提供了自己方便的方法undo()/ redo()。
我怎样才能得到这个?
答案 0 :(得分:2)
我猜QTextDocument::undoCommandAdded
是您正在寻找的信号。