【问题标题】:Qt, QTextEdit, how to turn all the content in QTextEdit into a image.Qt,QTextEdit,如何将QTextEdit中的所有内容变成图片。
【发布时间】:2013-05-04 08:41:00
【问题描述】:

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

QSize s = textEdit->frameSize();
QPixmap p(s);
textEdit->render(&p);
p.save("textContent.png", "PNG");

但它不能包含不可见的内容。(在QTextEdit中内容太长)

如果有办法创建包含 QTextEidt 中所有内容的图像,我会徘徊。如何。

谢谢。

【问题讨论】:

    标签: qt qtextedit


    【解决方案1】:

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

    它用painter p绘制文档的内容,裁剪成矩形。如果 rect 是空矩形(默认),则文档被绘制为未剪辑。

    在这里查看人-http://harmattan-dev.nokia.com/docs/library/html/qt4/qtextdocument.html#drawContents

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多