本页内容

QUndoView Class

QUndoView 类用于显示QUndoStack 的内容。更多内容...

头文件: #include <QUndoView>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
继承自: QListView

属性

公共函数

QUndoView(QWidget *parent = nullptr)
QUndoView(QUndoGroup *group, QWidget *parent = nullptr)
QUndoView(QUndoStack *stack, QWidget *parent = nullptr)
virtual ~QUndoView()
QIcon cleanIcon() const
QString emptyLabel() const
QUndoGroup *group() const
void setCleanIcon(const QIcon &icon)
void setEmptyLabel(const QString &label)
QUndoStack *stack() const

公共插槽

void setGroup(QUndoGroup *group)
void setStack(QUndoStack *stack)

详细说明

QUndoView 是一个QListView ,用于显示已压入撤销堆栈的命令列表。最近执行的命令始终处于选中状态。选择其他命令将调用QUndoStack::setIndex() 方法,从而将文档状态回滚或向前推进至该新命令。

可以通过setStack()显式设置堆栈。此外,也可以通过setGroup()设置QUndoGroup 对象。此后,每当该组的活动堆栈发生变化时,视图都会自动更新。

显示命令列表的撤销堆栈

属性文档

cleanIcon : QIcon

该属性存储用于表示“已清理”状态的图标。

可以通过 `QUndoStack::setClean()` 为堆栈设置“干净”状态。这通常是文档在保存时的状态。`QUndoView ` 可在命令列表中显示一个图标,以标识“干净”状态。如果该属性为空图标,则不显示任何图标。默认值为空图标。

访问函数:

QIcon cleanIcon() const
void setCleanIcon(const QIcon &icon)

emptyLabel : QString

该属性存储用于表示空状态的标签。

空状态标签是命令列表中的最顶层元素,代表在栈中尚未压入任何命令之前的文档状态。默认值为字符串“<empty>”。

访问函数:

QString emptyLabel() const
void setEmptyLabel(const QString &label)

成员函数文档

[explicit] QUndoView::QUndoView(QWidget *parent = nullptr)

创建一个父视图为parent 的新视图。

[explicit] QUndoView::QUndoView(QUndoGroup *group, QWidget *parent = nullptr)

创建一个父视图为parent 的新视图,并将观察组设置为group 。

每当该组的当前堆栈发生变化时,该视图都会自动更新。

[explicit] QUndoView::QUndoView(QUndoStack *stack, QWidget *parent = nullptr)

创建一个父视图为parent 的新视图,并将观察堆栈设置为stack 。

[virtual noexcept] QUndoView::~QUndoView()

销毁此视图。

QUndoGroup *QUndoView::group() const

返回该视图所显示的组。

如果该视图未观察到任何组,则此函数返回nullptr 。

另请参阅 setGroup()和setStack()。

[slot] void QUndoView::setGroup(QUndoGroup *group)

将此视图显示的组设置为group 。如果group 为nullptr ,则视图将为空。

每当该组的当前堆栈发生变化时,视图会自动更新。

另请参阅 group() 和setStack()。

[slot] void QUndoView::setStack(QUndoStack *stack)

将此视图显示的堆栈设置为stack 。如果stack 的值为nullptr ,则视图将为空。

如果该视图之前查看的是一个QUndoGroup ,则该组将设置为nullptr 。

另请参阅 stack() 和setGroup()。

QUndoStack *QUndoView::stack() const

返回该视图当前显示的堆栈。如果该视图正在查看一个QUndoGroup ,则此处返回的是该组的当前活动堆栈。

另请参阅 setStack() 和setGroup()。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.