// 初始化用于选择文本的光标
QTextCursor cellCursor(ui->textEdit->document());
cellCursor.setPosition(cellStart);
// 从单元格的起始位置开始选择文本
QString cellContent;
while (cellCursor.position() < cellEnd) {
cellCursor.movePosition(QTextCursor::EndOfBlock, QTextCursor::KeepAnchor);
// 如果当前光标位置超过了单元格的结束位置,就只选取到单元格结束的部分
if (cellCursor.position() > cellEnd) {
cellCursor.setPosition(cellEnd, QTextCursor::KeepAnchor);
}
cellContent += cellCursor.selectedText();
// 如果当前光标不在文档末尾且当前块已结束,则移动到下一个块
if (cellCursor.atBlockEnd() && !cellCursor.atEnd()) {
cellCursor.movePosition(QTextCursor::NextBlock);
cellCursor.movePosition(QTextCursor::StartOfBlock);
} else {
break; // 已经到了单元格的末尾或文档的末尾
}
}