我不是Qt或桌面开发方面最有经验的人,所以我希望这不是一个无知的问题。
我正在尝试使用QWebKit [1]将网页存储到图像,就像打印在纸上一样。不幸的是,QPainter似乎只适用于打印到pdf,postscript或真正的打印机,而且QWebFrame没有方法在渲染到QPainter的情况下将媒体设置为CSS。
我可以看到Qt内部QPrintPreviewWidgetPrivate使用printer->d_func()->previewPages();
来预览将要发送到打印机的图像,但这是一种私有方法而不是公开的API,因此我甚至无法使用它如果能够以所需的分辨率获得图像。
此时我很茫然,实际上可能会开始深入研究QPrinter和QWebFrame之间的交互方式,并且只是重新实现这些方法,希望它不是一件大事。
[1]遗憾的是无法升级到Qt5和QWebEngine。