【发布时间】:2021-02-05 12:04:09
【问题描述】:
我引入了一个特定的自定义快捷键,以允许从当前文本光标位置开始删除 QLineEdit 中接下来的 10 个字符。但我想让这个不可撤销。不幸的是 QLineEdit 不提供 QTextDocument 或 QTextCursor 对象,所以我尝试了以下代码:
int pos = lineEdit->cursorPosition();
lineEdit->setSelection(pos, pos + 10);
lineEdit->del();
这很好用,但是当我按下撤消 (Ctrl+Z) 时,删除的文本又回来了(这是我想要的)但它被选中了(这是我不想要的,而是我想返回到我之前的状态以编程方式选择文本)。我希望可以选择将选择和删除包装到一个“宏”撤消步骤中。这可能吗? https://doc.qt.io/qt-5/qtextcursor.html#beginEditBlock 之类的东西?
【问题讨论】:
标签: qt