- 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,则为空字符串。