- class QUndoGroup#
类
QUndoGroup是一组QUndoStack对象。概述
方法
def
__init__()def
activeStack()def
addStack()def
canRedo()def
canUndo()def
isClean()def
redoText()def
removeStack()def
stacks()def
undoText()
槽
信号#
备注
本文档可能包含从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() 监视一个组,它将更新自己以显示活动堆栈。创建一个空的
QUndoGroup对象,其父对象为parent。另请参阅
- activeStack()#
- 返回类型:
返回此组的活动堆栈。
如果没有堆栈处于活动状态,或者组为空,此函数返回
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。创建一个具有父对象
parent的 redoQAction对象。触发此动作将在活动堆栈上调用
redo()。此动作的文本将始终是下一次调用redo()将重做的命令文本,并且前面加上前缀prefix。如果没有可用的重做命令,如果组为空或没有活动堆栈,此动作将禁用。如果
prefix为空,则使用默认模板“Redo %1”而不是前缀。在 Qt 4.8 之前,默认使用前缀“Redo”。创建一个具有父对象
parent的 undoQAction对象。触发此动作将在活动堆栈上调用
undo()。此动作的文本将始终是下一次调用undo()将取消的命令文本,并且前面加上前缀prefix。如果没有可用的取消命令,如果组为空或没有活动堆栈,此动作将禁用。如果
prefix为空,则使用默认模板“Undo %1”而不是前缀。在 Qt 4.8 之前,默认使用前缀“Undo”。- indexChanged(idx)#
- 参数:
idx – int
每当活动堆栈发出
indexChanged()或活动堆栈改变时,此信号会被发出。idx是新的当前索引,或者如果活动堆栈是 0,则为 0。- isClean()#
- 返回类型:
bool
返回活动堆栈的
isClean()值。如果没有活动堆栈,或者组为空,则此函数返回
true。另请参阅
- 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()返回的操作将表现得与stack的createUndoAction()和createRedoAction()返回的操作相同。另请参阅
- stacks()#
- 返回类型:
列表 of QUndoStack
返回组中堆栈的列表。
另请参阅
- undo()#
在活动堆栈上调用
undo()。如果没有活动堆栈,或者组为空,此函数不执行任何操作。
- undoText()#
- 返回类型:
str
返回活动栈的
undoText()的值。如果没有活动堆栈,或者组为空,则此函数返回空字符串。
- undoTextChanged(undoText)#
- 参数:
undoText – str
每当活动栈发出
undoTextChanged()或活动栈更改时,都会发出此信号。undoText是新状态,或者如果活动栈为 0,则为空字符串。