Qt,QTextEdit,如何将QTextEdit中的所有内容转换为图像。

Qt,QTextEdit,如何将QTextEdit中的所有内容转换为图像。,qt,qtextedit,Qt,Qtextedit,我想创建一个包含QTextEdit的图像。 我编写以下代码来创建图像 QSize s = textEdit->frameSize(); QPixmap p(s); textEdit->render(&p); p.save("textContent.png", "PNG"); 但它不能包含不可见的内容。(QTextEdit中的内容太长) 我想知道是否有办法创建一个包含QTextEidt中所有内容的图像。以及如何 谢谢。我想,你可以通过QTextDocument*QTextEd

我想创建一个包含QTextEdit的图像。 我编写以下代码来创建图像

QSize s = textEdit->frameSize();
QPixmap p(s);
textEdit->render(&p);
p.save("textContent.png", "PNG");
但它不能包含不可见的内容。(QTextEdit中的内容太长)

我想知道是否有办法创建一个包含QTextEidt中所有内容的图像。以及如何


谢谢。

我想,你可以通过
QTextDocument*QTextEdit::document()
接收你的QTextEdit的
QTextDocument*
,然后通过
void QTextDocument::drawContents(QPainter*p,const QRectF&rect=QRectF())将其绘制到QImage

它使用画师p绘制文档内容,并剪裁为rect。如果rect是空矩形(默认值),则文档将绘制为未剪裁

检查一下这里的人-


或者-另一种方式-通过
toPlainHtml()或toPlainText()
从TextEdit获取所有文本-什么更适合您的需要,并通过qPaint的方法将其绘制到QImage
qPaint::DrawText()

我认为,您可以通过
QTextDocument*QTextEdit::document()
接收QTextEdit的
QTextDocument*
,然后通过
void QTextDocument::drawContents(qPaint*p,const QRectF&rect=QRectF())将其绘制到QImage

它使用画师p绘制文档内容,并剪裁为rect。如果rect是空矩形(默认值),则文档将绘制为未剪裁

检查一下这里的人-

或者-另一种方式-通过
toPlainHtml()或toPlainText()
从文本编辑中获取所有文本-什么更适合您的需要,并通过QPainter的方法
QPainter::DrawText()