将整个 QTextEdit 抓取到 QPainter 中

Grab the entire QTextEdit into QPainter

我正在尝试使用以下代码将整个 QTextEdit 小部件抓取到 QPainter 中:

QTextEdit *textEdit;
QPainter painter;
textEdit->render(&painter);
painter->restore();

这就是我能够做到的 grab.But,我想将小部件的隐藏部分也抓取到 Qpainter 中。有什么建议么?

如果需要保存内容到图片,需要使用QTextDocument::drawContents。像这样:

QImage img;
QPainter p( &img );
auto doc = textEdit->document();
doc->drawContents( &p, textEdit->viewport()->size() );