3

我的小部件包含很多QTextEdit控件。实际上,所有这些QTextEdits都是作为QTreeWidget. 所有这些控件都是可编辑的。

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

但是当通过文档搜索时,我发现没有这样的信号通知我为QTextEdit. 而且我不知道 a 的撤消策略QTextEdit,有时多个按键被压缩为一个单个撤消项,因此使用按键事件过滤器并记录我自己的QUndoCommand可能不是一个好主意,没有提到QTextEdit提供自己的便捷方法 undo()/重做()。

我怎样才能解决这个问题?

4

1 回答 1

2

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

于 2013-10-08T13:29:23.497 回答