QPlainTextEdit-手动推入撤消堆栈
QPlainTextEdit - pushing into undo stack manually
我正在用QPlainTextEdit
构建一个代码编辑器。默认情况下,当我在一行中键入一堆单词,然后按undo时,整行都会被删除。我想手动推动每个角色的撤消堆栈,这样当我单击撤消时,上一个角色就会被删除。然后我可以实现只捕获非字母,等等…这样它就可以一次撤消一个逻辑标记。我该怎么做?
我希望你们能帮我。提前谢谢。
我通过重写keyPressEvent()
:
void CodeEditor::keyPressEvent(QKeyEvent *event)
{
QTextCursor cursor = textCursor();
cursor.beginEditBlock();
QPlainTextEdit::keyPressEvent(event);
cursor.endEditBlock();
setTextCursor(cursor);
}
相关文章:
- 算法问题:查找从堆栈中弹出的所有序列
- 使用模板进行堆栈实现; "name followed by :: must be a class or namespace"
- Visual Studio(或任何其他工具)能否将地址解释为调用堆栈(boost上下文)的开头
- 为什么调用堆栈数组会导致内存泄漏
- gdb错误:Backtrace已停止:上一帧与此帧相同(堆栈已损坏?)
- 在 leetcode 上提交解决方案时出现堆栈缓冲区溢出错误
- 我的 int main() 中出现堆栈溢出错误
- 堆栈和队列是否像C++中的数组一样传递?
- 拥有映射的现代方法,该映射可以指向或引用已在堆栈上分配的不同类型的数据
- 为什么 STL 容器适配器堆栈中的 top 返回常量引用?
- 从堆栈分配的原始指针构造智能指针
- 在函数范围内在堆栈上分配的数组在离开函数时是否总是被释放?
- 堆栈中大小变量输入错误 (C++)
- 堆栈问题(平衡表达式问题集)
- C++ 在堆栈中包含多态属性的类对象存储
- 用于解析 win64 堆栈跟踪的命令行客户端(可以访问符号服务器)
- 在 C++ 中使用链表进行堆栈
- 变量周围的堆栈'...'已损坏
- QPlainTextEdit-手动推入撤消堆栈
- 使用QUndoCommand的子级/父级一次推送多个命令以撤消堆栈