0

このコードは機能するはずですが、機能しません

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
4

1 に答える 1

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();
于 2014-09-16T15:17:47.337 に答える