我想以编程方式选择一些文本,然后向上(或向下)移动它,在QPlainTextEdit上替换它上面的文本并保留TextFormat。
感谢。
答案 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);
在:
后:
它已被替换,我的示例显示了所有需要的方法和操作,如选择,文本获取,删除等)