1

QWebViewなしでQWebPage/QWebFrameを使用して、htmlデータをqimageまたはqpictureにレンダリングしようとしています:

#include <QtWebKitWidgets>

auto htmlData = R"(
<!DOCTYPE html>
<html>
<body>
<p>A quick brown fox jumps over the lazy dog.</p>
</body>
</html>
)";

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QWebPage page;
    auto frame = page.mainFrame();
    frame->setContent(htmlData, "text/html");

    QImage img(500, 500, QImage::Format_ARGB32);
    QPainter p(&img);
    frame->render(&p);
    p.end();
    img.save("html.png");

    return 0;
}

結果の画像は空白です。ただし、QWebFrame::print は正しい PDF ファイルを生成します。

html を適切にレンダリングするにはどうすればよいですか?

4

1 に答える 1

2

わかった。私はついにそれを理解します。電話する必要がありますQWebPage::setViewportSize()。ページが QWebView の一部である場合、自動的に設定されると思います。

于 2014-03-17T13:40:58.967 に答える