gpt4 book ai didi

qt - QLineEdit 单步可撤消文本的程序化编辑

转载 作者:行者123 更新时间:2023-12-05 06:51:50 27 4
gpt4 key购买 nike

我引入了一个特定的自定义快捷键,允许从当前文本光标位置开始删除 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

最佳答案

尝试使用 QPlainTextEdit 和 setWordWrapMode(QTextOption::NoWrap) 来使用 QTextDocument+QTextCursor 特性。

关于qt - QLineEdit 单步可撤消文本的程序化编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66062970/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com