c++ - QTextEdit删除给定位置的整行

标签 c++ qt user-interface text qt5

我需要从程序中手动删除 QTextEdit 中的特定行(NoWrap 选项处于事件状态)。我找到了一个解释如何删除第一行的解决方案,但我想知道如何删除特定索引处的整行。

我在这里也找到了解决方案 Remove a line/block from QTextEdit ,但我不知道这些 block 是什么。它们是否代表单行?我是否应该遍历这些 block ,如果我到达给定索引处的 block ,则删除它?

最佳答案

您可以删除 lineNumer 处的行:

QTextCursor cursor = textEdit->textCursor();

cursor.movePosition(QTextCursor::Start);
cursor.movePosition(QTextCursor::Down, QTextCursor::MoveAnchor, lineNumer);
cursor.select(QTextCursor::LineUnderCursor);
cursor.removeSelectedText();
cursor.deleteChar(); // clean up new line

textEdit->setTextCursor(cursor);

此处将光标放在文档的开头,向下移动lineNumer 次,选择特定行并将其删除。

关于c++ - QTextEdit删除给定位置的整行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27814909/

相关文章:

Delphi控件可以模仿Firefox的 "Add-ons|Extension list"吗?

c++ - 无法删除类指针

C++ 流二次插入运算符

c++ - 无父按钮

c++ - KD App 不构建,未定义对 Solid 库的引用

c++ - QML Timer - 如何提高准确性?

user-interface - 创建 Vim 风格的命令行界面

c++ - 为什么要做两个函数? (一个是非常量,另一个是常量)

c++ - 类似于 ptr_map 容器

python - 如何使用任何 Python GUI 框架在我的应用程序中嵌入一些应用程序窗口