我希望这段代码能够正常运行,但它并不是
QTextCursor cursor = textEdit->textCursor();
cursor = QTextCursor(cursor.currentFrame());
cursor.movePosition(QTextCursor::EndOfBlock, QTextCursor::KeepAnchor);
textEdit->setTextCursor(cursor);
textEdit->copy(); // Here I got only text from current cell, not a table
答案 0 :(得分:0)
QTextEdit或QTextDocument中的QTextTable单元格由QTextBlock本身表示。
您的示例代码确实将光标的位置移动到当前块的末尾,这只是单元格内容的结尾。
要选择表格的全部内容,您需要选择所有单元格。
这应该有效:
cursor.movePosition( QTextCursor::Start);
while( cursor.movePosition( QTextCursor::NextCell, QTextCursor::KeepAnchor ) ){
//...add break condition as failsafe after n iterations?
}
请注意,您可以使用以下方式查询选择:
cursor.selectedText();