Qt 使用QWebPage创建整个页面屏幕快照

Qt 使用QWebPage创建整个页面屏幕快照,qt,qwebpage,Qt,Qwebpage,我正在使用Qt(Qt creator的奇特浏览器示例)创建网页的屏幕截图,使用以下代码(取自并转换自): 但它只创建页面可见部分(查看端口)的屏幕截图 如果我在开头添加这一行,屏幕截图是从整个页面创建的,但问题是,每次加载页面时,它都会添加一个新的滚动条 view->page()->setViewportSize(view->page()->mainFrame()->contentsSize()); 知道如何解决这个问题吗?看起来“wkhtmltopdf”(wkh

我正在使用Qt(Qt creator的奇特浏览器示例)创建网页的屏幕截图,使用以下代码(取自并转换自):

但它只创建页面可见部分(查看端口)的屏幕截图

如果我在开头添加这一行,屏幕截图是从整个页面创建的,但问题是,每次加载页面时,它都会添加一个新的滚动条

view->page()->setViewportSize(view->page()->mainFrame()->contentsSize());

知道如何解决这个问题吗?

看起来“wkhtmltopdf”(wkhtmltopdf)有正确的实现方法-在src/lib/imageconverter.cc中搜索“painter”

您只需禁用滚动条:

page()->mainFrame()->setScrollBarPolicy(Qt::Vertical, Qt::ScrollBarAlwaysOff);
page()->mainFrame()->setScrollBarPolicy(Qt::Horizontal, Qt::ScrollBarAlwaysOff);
作为一个完整的例子,请使用我3.5年前在博客文章中描述的内容。自那以后,其代码存储库已移动到


如果您注意上面的示例,就不需要创建QWebView。您完全只能从QWebPage实例工作。

两个链接都已过期
page()->mainFrame()->setScrollBarPolicy(Qt::Vertical, Qt::ScrollBarAlwaysOff);
page()->mainFrame()->setScrollBarPolicy(Qt::Horizontal, Qt::ScrollBarAlwaysOff);