class QUndoGroup#

QUndoGroup 是一组 QUndoStack 对象。

Inheritance diagram of PySide6.QtGui.QUndoGroup

概述

方法

信号#

备注

本文档可能包含从C++自动翻译到Python的代码示例。我们始终欢迎对代码示例翻译的贡献。如果您发现翻译中有问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE上创建工单的方式来告知我们

详细说明#

有关Qt撤销框架的概述,请参阅概述。

通常,一个应用会有多个撤销栈,每个打开的文档一个。同时,一个应用通常有一个撤销操作和一个重做操作,它们会在活动文档中触发撤销或重做。

QUndoGroup 是一组 QUndoStack 对象,其中可能有一个是活动状态。它有一个 undo()redo() 插槽,它会对活动堆栈调用 undo()redo()。它还具有 createUndoAction()createRedoAction() 函数。这些函数返回的操作与返回的活动堆栈的 createUndoAction()createRedoAction() 一样。

堆栈可以通过 addStack() 添加到组中,并通过 removeStack() 移除。当一个堆栈以组作为其父 QObject 被创建时,它会隐式地添加到组中。

程序员负责通过调用 setActive() 来指定哪个堆栈是活动的,通常在关联的文档窗口接收焦点时进行。活动堆栈也可以使用 setActiveStack() 设置,并被 activeStack() 返回。

当使用 addStack() 将堆栈添加到组中时,组不会获取堆栈的所有权。这意味着堆栈必须从组中单独删除。当删除堆栈时,它将自动从组中移除。堆栈只能属于一个组。将其添加到另一个组会导致它从先前组中移除。

当与 QUndoGroup 结合使用时,QUndoGroup 还非常有用。如果将 QUndoView 设置为使用 QUndoView::setGroup() 监视一个组,它将更新自己以显示活动堆栈。

__init__([parent=None])#
参数:

父对象QObject

创建一个空的 QUndoGroup 对象,其父对象为 parent

另请参阅

addStack()

activeStack()#
返回类型:

QUndoStack

返回此组的活动堆栈。

如果没有堆栈处于活动状态,或者组为空,此函数返回 None

activeStackChanged(stack)#
参数:

堆栈QUndoStack

每当组的活动堆栈发生变化时,都会发出此信号。这可以在调用setActiveStack()setActive() 时发生,或者在从组中删除活动堆栈时发生。 stack 是新的活动堆栈。如果没有堆栈处于活动状态,stack 为 0。

addStack(stack)#
参数:

堆栈QUndoStack

stack 添加到此组。组不会获取堆栈的所有权。另一种将堆栈添加到组的方法是在 QUndoStack() 中将组指定为堆栈的父 QObject。在这种情况下,当组被删除时,堆栈将以通常的 QObject 方式被删除。

另请参阅

removeStack() stacks() QUndoStack()

canRedo()#
返回类型:

bool

返回活动堆栈的 canRedo() 值。

如果没有堆栈处于活动状态,或者组为空,此函数返回 false

canRedoChanged(canRedo)#
参数:

canRedo – bool

每当活动堆栈发出 canRedoChanged() 或者活动堆栈发生变化时,都会发出此信号。

canRedo 是新状态,或者如果活动堆栈为 0,则为 false。

canUndo()#
返回类型:

bool

返回活动堆栈的 canUndo() 的值。

如果没有堆栈处于活动状态,或者组为空,此函数返回 false

canUndoChanged(canUndo)#
参数:

canUndo – bool

每当活动堆栈发出 canUndoChanged() 或活动堆栈发生变化时,都会发出此信号。

canUndo 是新状态,或者如果活动堆栈为 0,则为 false。

cleanChanged(clean)#
参数:

clean – bool

每当活动堆栈发出 cleanChanged() 或者活动堆栈发生变化时,都会发出此信号。

clean 是新状态,或者如果活动堆栈为 0,则为 true。

createRedoAction(parent[, prefix=""])#
参数:
  • 父对象QObject

  • prefix – str

返回类型:

QAction

创建一个具有父对象 parent 的 redo QAction 对象。

触发此动作将在活动堆栈上调用 redo()。此动作的文本将始终是下一次调用 redo() 将重做的命令文本,并且前面加上前缀 prefix。如果没有可用的重做命令,如果组为空或没有活动堆栈,此动作将禁用。

如果 prefix 为空,则使用默认模板“Redo %1”而不是前缀。在 Qt 4.8 之前,默认使用前缀“Redo”。

createUndoAction(parent[, prefix=""])#
参数:
  • 父对象QObject

  • prefix – str

返回类型:

QAction

创建一个具有父对象 parent 的 undo QAction 对象。

触发此动作将在活动堆栈上调用 undo()。此动作的文本将始终是下一次调用 undo() 将取消的命令文本,并且前面加上前缀 prefix。如果没有可用的取消命令,如果组为空或没有活动堆栈,此动作将禁用。

如果 prefix 为空,则使用默认模板“Undo %1”而不是前缀。在 Qt 4.8 之前,默认使用前缀“Undo”。

indexChanged(idx)#
参数:

idx – int

每当活动堆栈发出 indexChanged() 或活动堆栈改变时,此信号会被发出。

idx 是新的当前索引,或者如果活动堆栈是 0,则为 0。

isClean()#
返回类型:

bool

返回活动堆栈的 isClean() 值。

如果没有活动堆栈,或者组为空,则此函数返回 true

另请参阅

setActiveStack()

redo()#

在活动堆栈上调用 redo()

如果没有活动堆栈,或者组为空,此函数不执行任何操作。

redoText()#
返回类型:

str

返回活动堆栈的 redoText() 值。

如果没有活动堆栈,或者组为空,则此函数返回空字符串。

redoTextChanged(redoText)#
参数:

redoText – str

每当活动堆栈触发 redoTextChanged() 或活动堆栈发生变化时,都会发出此信号。

redoText 是新状态,或者如果活动堆栈为 0,则为空字符串。

removeStack(stack)#
参数:

堆栈QUndoStack

从该组中移除 stack。如果堆栈是该组的活动堆栈,则活动堆栈变为 0。

另请参阅

addStack() stacks() ~QUndoStack()

setActiveStack(stack)#
参数:

堆栈QUndoStack

将此组的活动堆栈设置为stack

如果堆栈不是此组的成员,则此函数不起作用。

等同于在stack上调用setActive()

createUndoAction()createRedoAction()返回的操作将表现得与stackcreateUndoAction()createRedoAction()返回的操作相同。

另请参阅

setActive() activeStack()

stacks()#
返回类型:

列表 of QUndoStack

返回组中堆栈的列表。

另请参阅

addStack() removeStack()

undo()#

在活动堆栈上调用undo()

如果没有活动堆栈,或者组为空,此函数不执行任何操作。

undoText()#
返回类型:

str

返回活动栈的 undoText() 的值。

如果没有活动堆栈,或者组为空,则此函数返回空字符串。

undoTextChanged(undoText)#
参数:

undoText – str

每当活动栈发出 undoTextChanged() 或活动栈更改时,都会发出此信号。

undoText 是新状态,或者如果活动栈为 0,则为空字符串。