在QTextEdit获取新的撤消项目时收到通知

时间:2013-10-07 09:00:24

标签: qt qtextedit undo-redo

我的小部件包含许多QTextEdit个控件。实际上,所有这些QTextEdits都安装为QTreeWidget的项目小部件。所有这些控件都可以编辑。

因此,我需要实现统一的“撤消堆栈”,在我的小部件中处理control + "Z/Y"而不是每个QTextEdit控件。为此,我必须在某个QTextEdit创建新的撤消项目时记录。因此,当我按control+Z时,它将撤消QTextEdit控件的编辑(通过调用其undo()方法),再次按下可能会撤消另一个QTextEdit控件的编辑(通过调用其撤消( ) 方法)。

但是当通过文档搜索时,我发现没有这样的信号通知我为QTextEdit创建了一个新的撤消项目。而且我不知道QTextEdit的撤消策略,有时候多个按键被压缩成一个单独的撤销项,所以使用keypress eventfilter并记录我自己的QUndoCommand可能不是一个好主意,没有提到QTextEdit提供了自己方便的方法undo()/ redo()。

我怎样才能得到这个?

1 个答案:

答案 0 :(得分:2)

我猜QTextDocument::undoCommandAdded是您正在寻找的信号。