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 を適切にレンダリングするにはどうすればよいですか?