QUndoGroup Class
QUndoGroup 클래스는 QUndoStack 객체의 그룹입니다. 더 보기...
헤더: | #include <QUndoGroup> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
상속합니다: | QObject |
공용 함수
QUndoGroup(QObject *parent = nullptr) | |
virtual | ~QUndoGroup() |
QUndoStack * | activeStack() const |
void | addStack(QUndoStack *stack) |
bool | canRedo() const |
bool | canUndo() const |
QAction * | createRedoAction(QObject *parent, const QString &prefix = QString()) const |
QAction * | createUndoAction(QObject *parent, const QString &prefix = QString()) const |
bool | isClean() const |
QString | redoText() const |
void | removeStack(QUndoStack *stack) |
QList<QUndoStack *> | stacks() const |
QString | undoText() const |
공용 슬롯
void | redo() |
void | setActiveStack(QUndoStack *stack) |
void | undo() |
시그널
void | activeStackChanged(QUndoStack *stack) |
void | canRedoChanged(bool canRedo) |
void | canUndoChanged(bool canUndo) |
void | cleanChanged(bool clean) |
void | indexChanged(int idx) |
void | redoTextChanged(const QString &redoText) |
void | undoTextChanged(const QString &undoText) |
상세 설명
Qt의 실행 취소 프레임워크에 대한 개요는 개요를 참조하십시오.
애플리케이션에는 열려 있는 문서마다 하나씩 실행 취소 스택이 여러 개 있는 경우가 많습니다. 동시에 애플리케이션에는 보통 하나의 실행 취소 액션과 하나의 다시 실행 액션이 있으며, 활성 문서에서 실행 취소 또는 다시 실행을 트리거합니다.
QUndoGroup은 QUndoStack 개체의 그룹으로, 그 중 하나가 활성화되어 있을 수 있습니다. 여기에는 활성 스택에 대해 QUndoStack::undo() 및 QUndoStack::redo()를 호출하는 undo() 및 redo() 슬롯이 있습니다. 또한 createUndoAction() 및 createRedoAction() 함수도 있습니다. 이 함수가 반환하는 작업은 활성 스택의 QUndoStack::createUndoAction() 및 QUndoStack::createRedoAction()에서 반환하는 작업과 동일한 방식으로 작동합니다.
스택은 addStack()로 그룹에 추가되고 removeStack()로 제거됩니다. 스택은 그룹을 부모로 하여 그룹을 만들 때 암시적으로 그룹에 추가됩니다 QObject.
일반적으로 연결된 문서 창이 포커스를 받을 때 QUndoStack::setActive()를 호출하여 어떤 스택이 활성 상태인지 지정하는 것은 프로그래머의 책임입니다. 활성 스택은 setActiveStack()로 설정할 수도 있으며 activeStack()로 반환됩니다.
addStack()를 사용하여 스택이 그룹에 추가되면 그룹은 스택의 소유권을 갖지 않습니다. 즉, 스택을 그룹에서 별도로 삭제해야 합니다. 스택이 삭제되면 그룹에서 자동으로 제거됩니다. 스택은 하나의 그룹에만 속할 수 있습니다. 다른 그룹에 추가하면 이전 그룹에서 제거됩니다.
QUndoView 와 함께 사용하면 유용합니다. QUndoView 이 QUndoView::setGroup()를 사용하여 그룹을 감시하도록 설정되어 있으면 활성 스택을 표시하도록 자체 업데이트됩니다.
멤버 함수 문서
[explicit]
QUndoGroup::QUndoGroup(QObject *parent = nullptr)
부모를 가진 빈 QUndoGroup 객체를 만듭니다 parent.
addStack()도 참조하세요 .
[virtual noexcept]
QUndoGroup::~QUndoGroup()
QUndoGroup 를 파괴합니다.
QUndoStack *QUndoGroup::activeStack() const
이 그룹의 활성 스택을 반환합니다.
활성 스택이 없거나 그룹이 비어 있으면 이 함수는 nullptr
을 반환합니다.
setActiveStack() 및 QUndoStack::setActive()도 참조하세요 .
[signal]
void QUndoGroup::activeStackChanged(QUndoStack *stack)
이 신호는 그룹의 활성 스택이 변경될 때마다 발생합니다. setActiveStack () 또는 QUndoStack::setActive()이 호출되거나 그룹에서 활성 스택이 제거될 때 발생할 수 있습니다. stack 이 새로운 활성 스택입니다. 활성 스택이 없는 경우 stack 은 0입니다.
setActiveStack() 및 QUndoStack::setActive()도 참조하세요 .
void QUndoGroup::addStack(QUndoStack *stack)
stack 을 이 그룹에 추가합니다. 이 그룹은 스택의 소유권을 가지지 않습니다. 그룹에 스택을 추가하는 또 다른 방법은 QUndoStack::QUndoStack()에서 그룹을 스택의 부모 QObject 로 지정하는 것입니다. 이 경우 그룹이 삭제될 때 스택은 일반적인 QObject 방식에 따라 삭제됩니다.
removeStack(), stacks() 및 QUndoStack::QUndoStack()도 참조하세요 .
bool QUndoGroup::canRedo() const
활성 스택의 QUndoStack::canRedo() 값을 반환합니다.
활성 스택이 없거나 그룹이 비어 있으면 이 함수는 false
을 반환합니다.
canUndo() 및 setActiveStack()도 참조하세요 .
[signal]
void QUndoGroup::canRedoChanged(bool canRedo)
이 신호는 활성 스택이 QUndoStack::canRedoChanged()를 전송하거나 활성 스택이 변경될 때마다 전송됩니다.
canRedo 는 새 상태이고, 활성 스택이 0이면 거짓입니다.
QUndoStack::canRedoChanged() 및 setActiveStack()도 참조하세요 .
bool QUndoGroup::canUndo() const
활성 스택의 QUndoStack::canUndo() 값을 반환합니다.
활성 스택이 없거나 그룹이 비어 있으면 이 함수는 false
을 반환합니다.
canRedo() 및 setActiveStack()도 참조하세요 .
[signal]
void QUndoGroup::canUndoChanged(bool canUndo)
이 신호는 활성 스택이 QUndoStack::canUndoChanged()를 전송하거나 활성 스택이 변경될 때마다 전송됩니다.
canUndo 는 새 상태이고, 활성 스택이 0이면 거짓입니다.
QUndoStack::canUndoChanged() 및 setActiveStack()도 참조하세요 .
[signal]
void QUndoGroup::cleanChanged(bool clean)
이 신호는 활성 스택이 QUndoStack::cleanChanged()를 전송하거나 활성 스택이 변경될 때마다 전송됩니다.
clean 는 새 상태이고, 활성 스택이 0이면 참입니다.
QUndoStack::cleanChanged() 및 setActiveStack()도 참조하세요 .
QAction *QUndoGroup::createRedoAction(QObject *parent, const QString &prefix = QString()) const
부모 parent 를 가진 QAction 객체를 다시 실행합니다.
이 작업을 트리거하면 활성 스택에서 QUndoStack::redo() 호출이 발생합니다. 이 작업의 텍스트는 항상 다음 redo() 호출에서 다시 실행될 명령의 텍스트이며, 접두사 앞에 prefix 이 붙습니다. 다시 실행할 수 있는 명령이 없거나 그룹이 비어 있거나 활성 스택이 없는 경우 이 작업은 비활성화됩니다.
prefix 이 비어 있으면 접두사 대신 기본 템플릿 "Redo %1"이 사용됩니다. Qt 4.8 이전에는 접두사 "Redo"가 기본적으로 사용되었습니다.
createUndoAction(), canRedo() 및 QUndoCommand::text()도 참조하세요 .
QAction *QUndoGroup::createUndoAction(QObject *parent, const QString &prefix = QString()) const
부모 parent 를 가진 실행 취소 QAction 객체를 만듭니다.
이 작업을 트리거하면 활성 스택에서 QUndoStack::undo() 호출이 발생합니다. 이 작업의 텍스트는 항상 다음 undo() 호출에서 실행 취소될 명령의 텍스트이며, 접두사 앞에 prefix 이 붙습니다. 실행 취소할 수 있는 명령이 없거나 그룹이 비어 있거나 활성 스택이 없는 경우 이 작업은 비활성화됩니다.
prefix 이 비어 있으면 접두사 대신 기본 템플릿인 "Undo %1"이 사용됩니다. Qt 4.8 이전에는 접두사 "Undo"가 기본으로 사용되었습니다.
createRedoAction(), canUndo() 및 QUndoCommand::text()도 참조하세요 .
[signal]
void QUndoGroup::indexChanged(int idx)
이 신호는 활성 스택이 QUndoStack::indexChanged()를 전송하거나 활성 스택이 변경될 때마다 전송됩니다.
idx 는 새로운 현재 인덱스이고, 활성 스택이 0이면 0입니다.
QUndoStack::indexChanged() 및 setActiveStack()도 참조하세요 .
bool QUndoGroup::isClean() const
활성 스택의 QUndoStack::isClean() 값을 반환합니다.
활성 스택이 없거나 그룹이 비어 있으면 이 함수는 true
을 반환합니다.
setActiveStack()도 참조하세요 .
[slot]
void QUndoGroup::redo()
활성 스택에서 QUndoStack::redo()를 호출합니다.
활성 스택이 없거나 그룹이 비어 있으면 이 함수는 아무 작업도 수행하지 않습니다.
undo(), canRedo() 및 setActiveStack()도 참조하세요 .
QString QUndoGroup::redoText() const
활성 스택의 QUndoStack::redoText() 값을 반환합니다.
활성 스택이 없거나 그룹이 비어 있으면 이 함수는 빈 문자열을 반환합니다.
undoText() 및 setActiveStack()도 참조하세요 .
[signal]
void QUndoGroup::redoTextChanged(const QString &redoText)
이 신호는 활성 스택이 QUndoStack::redoTextChanged()를 전송하거나 활성 스택이 변경될 때마다 전송됩니다.
redoText 는 새 상태이거나 활성 스택이 0인 경우 빈 문자열입니다.
QUndoStack::redoTextChanged() 및 setActiveStack()도 참조하세요 .
void QUndoGroup::removeStack(QUndoStack *stack)
이 그룹에서 stack 을 제거합니다. 해당 스택이 그룹의 활성 스택인 경우 활성 스택은 0이 됩니다.
addStack(), stacks() 및 QUndoStack::~QUndoStack()도 참조하세요 .
[slot]
void QUndoGroup::setActiveStack(QUndoStack *stack)
이 그룹의 활성 스택을 stack 으로 설정합니다.
스택이 이 그룹의 멤버가 아닌 경우 이 함수는 아무 작업도 수행하지 않습니다.
stack 에서 QUndoStack::setActive()를 호출하는 것과 동의어입니다.
createUndoAction() 및 createRedoAction()에서 반환되는 작업은 이제 stack 의 QUndoStack::createUndoAction() 및 QUndoStack::createRedoAction()에서 반환되는 작업과 동일한 방식으로 작동합니다.
QUndoStack::setActive() 및 activeStack()도 참조하세요 .
QList<QUndoStack *> QUndoGroup::stacks() const
이 그룹의 스택 목록을 반환합니다.
addStack() 및 removeStack()도 참조하세요 .
[slot]
void QUndoGroup::undo()
활성 스택에서 QUndoStack::undo()를 호출합니다.
활성 스택이 없거나 그룹이 비어 있으면 이 함수는 아무 작업도 수행하지 않습니다.
redo(), canUndo() 및 setActiveStack()도 참조하세요 .
QString QUndoGroup::undoText() const
활성 스택의 QUndoStack::undoText() 값을 반환합니다.
활성 스택이 없거나 그룹이 비어 있으면 이 함수는 빈 문자열을 반환합니다.
redoText() 및 setActiveStack()도 참조하세요 .
[signal]
void QUndoGroup::undoTextChanged(const QString &undoText)
이 신호는 활성 스택이 QUndoStack::undoTextChanged()를 전송하거나 활성 스택이 변경될 때마다 전송됩니다.
undoText 는 새 상태이거나 활성 스택이 0인 경우 빈 문자열입니다.
QUndoStack::undoTextChanged() 및 setActiveStack()도 참조하세요 .
© 2025 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.