QPlainTextEdit 5.3 - 以编程方式选择和移动文本(C ++)

时间:2014-11-01 01:55:23

标签: c++ qt

我想以编程方式选择一些文本,然后向上(或向下)移动它,在QPlainTextEdit上替换它上面的文本并保留TextFormat。

感谢。

1 个答案:

答案 0 :(得分:1)

使用此:

int count = 5;
int startPos= 5;
int endPos = startPos+count;
QTextCursor c = ui->plainTextEdit->textCursor();
c.setPosition(startPos);
c.setPosition(endPos, QTextCursor::KeepAnchor);
ui->plainTextEdit->setTextCursor(c);
QString txt = ui->plainTextEdit->textCursor().selectedText();
qDebug() << txt;
ui->plainTextEdit->textCursor().deleteChar();
c.setPosition(startPos);
c.setPosition(startPos - count, QTextCursor::KeepAnchor);
ui->plainTextEdit->setTextCursor(c);
ui->plainTextEdit->textCursor().deleteChar();
ui->plainTextEdit->textCursor().insertText(txt);

在:

enter image description here

后:

enter image description here

它已被替换,我的示例显示了所有需要的方法和操作,如选择,文本获取,删除等)