失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 【网页全屏截图问题总结】

【网页全屏截图问题总结】

时间:2021-10-10 23:55:08

相关推荐

【网页全屏截图问题总结】

网页全屏截图问题总结

问题:因使用QT实现网页全屏截取的过程中时,截取出来的图片只有首页正常,底部是空白,没有截取到,目前在官网上也没有找到合理的解释。解决方案:博主通过测试发现,使用QT的版本为QT 5.12.9这个版本是正常的;其它版本如QT 5.12.1,QT 5.12.11截取的图片都存在问题。**特别注意:**1、QT5.10以上版本才引入QWebEngineSettings::ShowScrollBars;2、博主使用QT 5.12.1和QT 5.12.11测试发现,这两个版本都不能正常全屏截图,截取出来的图片只有首页正常,底部是空白,没有截取到。 代码实现:视频演示源码

问题:因使用QT实现网页全屏截取的过程中时,截取出来的图片只有首页正常,底部是空白,没有截取到,目前在官网上也没有找到合理的解释。

解决方案:博主通过测试发现,使用QT的版本为QT 5.12.9这个版本是正常的;其它版本如QT 5.12.1,QT 5.12.11截取的图片都存在问题。

特别注意:

1、QT5.10以上版本才引入QWebEngineSettings::ShowScrollBars;

2、博主使用QT 5.12.1和QT 5.12.11测试发现,这两个版本都不能正常全屏截图,截取出来的图片只有首页正常,底部是空白,没有截取到。

代码实现:

void MainWindow::FullScreenShoot(){m_webView->setAttribute(Qt::WA_DontShowOnScreen);//注意:QT5.10以上版本才引入QWebEngineSettings::ShowScrollBarsm_webView->page()->settings()->setAttribute(QWebEngineSettings::ShowScrollBars, false);m_webView->show();QSize size = m_webView->page()->contentsSize().toSize();m_webView->resize(size);QTimer::singleShot(1200, this, SLOT(FullScreenSave()));}void MainWindow::FullScreenSave(){QString dirPath = QString::fromLocal8Bit("/网页全屏截图路径/");QString filePath = QCoreApplication::applicationDirPath() + dirPath;qDebug()<<filePath;CreateDir(filePath); //创建该目录QString getTime = QDateTime::currentDateTime().toString("yyyy-MM-dd-hh-mm-ss-zzz");QString filePathName = "web-" + getTime + ".png";QString fileFullPathName = filePath + filePathName;m_webView->grab().save(fileFullPathName, "PNG");}

视频演示

网页全屏截图演示

源码

/download/fyg_fly/81445182

如果觉得《【网页全屏截图问题总结】》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。