我想创建一个包含QTextEdit的图像。 我编写以下代码来创建图像。
QSize s = textEdit->frameSize();
QPixmap p(s);
textEdit->render(&p);
p.save("textContent.png", "PNG");
但它不能包含不可见的内容。(虽然QTextEdit中的内容太长)
如果有办法创建包含QTextEidt中所有内容的图像,我就会徘徊。如何。
感谢。
答案 0 :(得分:1)
我认为,您可以通过QTextDocument * QTextEdit::document ()
来接收QTextEdit的QTextDocument *
,然后通过void QTextDocument::drawContents ( QPainter * p, const QRectF & rect = QRectF() )
它用画家p绘制文档的内容,剪切到rect。如果rect是一个空矩形(默认),那么文档将被绘制为未剪切。
在这里检查一下 - http://harmattan-dev.nokia.com/docs/library/html/qt4/qtextdocument.html#drawContents
或者 - 另一种方式 - 通过toPlainHtml() or toPlainText()
获取TextEdit中的所有文本 - 更适合您的需求,并通过QPainter的方法将其绘制到QImage QPainter::DrawText()