当前位置: 首页 > news >正文

雄安做网站优化的公司vm虚拟机搭建wordpress

雄安做网站优化的公司,vm虚拟机搭建wordpress,公司注册核名,哪个网站卖自己做的手工艺品Qt WebEngine_hitzsf的博客-CSDN博客 一、QWebEngineView QWebEngineView 类是一个实现Web浏览器的便捷类#xff0c;提供了back() 、forward()、reload()、stop() 等方法#xff0c;可轻松实现页面的前进、后退、重载等导航功能#xff0c;要实现一个简单的只有网页加载网…Qt WebEngine_hitzsf的博客-CSDN博客 一、QWebEngineView QWebEngineView 类是一个实现Web浏览器的便捷类提供了back() 、forward()、reload()、stop() 等方法可轻松实现页面的前进、后退、重载等导航功能要实现一个简单的只有网页加载网页预览、没有导航功能的web浏览器只需要定义一个 QWebEngineView 类对象使用load方法加载即可。下面是一个简单浏览器的实现 1、Widget类定义(widget.h) #ifndef WIDGET_H #define WIDGET_H #include QWidget #include QUrl class Widget : public QWidget { Q_OBJECT public: explicit Widget(QWidget *parent nullptr, QUrl url QUrl(http://www.baidu.com)); signals: }; #endif // WIDGET_H 2、Widget类实现(widget.cpp) #include widget.h #include QtWebEngineWidgets #include mywebengineview.hWidget::Widget(QWidget *parent, QUrl url): QWidget(parent) {MyWebEngineView *view new MyWebEngineView;QVBoxLayout *mainLayout new QVBoxLayout(this);mainLayout-addWidget(view);mainLayout-setContentsMargins(0,0,0,0);mainLayout-setMargin(0);this-setContentsMargins(0,0,0,0);this-setWindowFlags(Qt::FramelessWindowHint); // 去掉标题栏view-load(url); } 3、MyWebEngineView类定义mywebengineview.h #ifndef MYWEBENGINEVIEW_H #define MYWEBENGINEVIEW_H #include QtWebEngineWidgetsclass MyWebEngineView : public QWebEngineView {Q_OBJECT public:explicit MyWebEngineView(QWidget *parent nullptr);QWebEngineView * createWindow(QWebEnginePage::WebWindowType type) override;void linkHovered(QString url);void lessheadPagePrintfToPdf(bool ok);private:QUrl newUrl;QWebEnginePage lessHeadPage; };#endif // MYWEBENGINEVIEW_H 4、MyWebEngineView类实现mywebengineview.cpp #include mywebengineview.h #include QDebugMyWebEngineView::MyWebEngineView(QWidget *parent) : QWebEngineView(parent) {connect(this-page(),QWebEnginePage::linkHovered,this,MyWebEngineView::linkHovered);connect(lessHeadPage,QWebEnginePage::loadFinished,this,MyWebEngineView::lessheadPagePrintfToPdf); }//这个函数应该是由底层的QWebEnginePage发起调用的如果不想新建QWebEngineView在这儿覆写。 QWebEngineView *MyWebEngineView::createWindow(QWebEnginePage::WebWindowType type) {Q_UNUSED(type)//识别要无头浏览输出pdfif (newUrl.toString() https://www.baidu.com/s?wd小米汽车safyb_n_homepagersv_dlfyb_n_homepagefromsupercl3tnbaidutop10frtop1000rsv_idx2hisfilter1 ||newUrl.toString() https://www.baidu.com/s?wd国风浩荡文脉赓续safyb_n_homepagersv_dlfyb_n_homepagefromsupercl3tnbaidutop10frtop1000rsv_idx2hisfilter1){lessHeadPage.load(newUrl);}else{this-load(newUrl);}qDebug() createWindow url is : this-url();return 0; }void MyWebEngineView::linkHovered(QString url) {qDebug() linkHovered url is : url;newUrl QUrl(url); }//实现无头浏览输出pdf void MyWebEngineView::lessheadPagePrintfToPdf(bool ok) {Q_UNUSED(ok)lessHeadPage.printToPdf(QString(test.pdf)); } 5、主函数main.cpp #include QApplication #include QWebEngineProfile #include QWebEngineSettings #include QWebEnginePage #include QWebEngineView #include QtWebEngineWidgets #include mywebengineview.h #include widget.hQUrl commandLineUrlArgument() {const QStringList args QCoreApplication::arguments();for (const QString arg : args.mid(1)) {if (!arg.startsWith(QLatin1Char(-)))return QUrl::fromUserInput(arg);}//return QUrl(QStringLiteral(http://www.wanweitech.cn));return QUrl(QStringLiteral(http://192.168.9.26:3006/#/Alautomdix));//return QUrl(QStringLiteral(http://www.baidu.com)); }int main(int argc, char *argv[]) {QCoreApplication::setOrganizationName(qtweb_widget);QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);QApplication app(argc, argv);QWebEngineSettings::defaultSettings()-setAttribute(QWebEngineSettings::PluginsEnabled, true); //启用加载插件QWebEngineSettings::defaultSettings()-setAttribute(QWebEngineSettings::PdfViewerEnabled, true); //启用PDF查看 #if QT_VERSION QT_VERSION_CHECK(5, 13, 0)QWebEngineSettings::defaultSettings()-setAttribute(QWebEngineSettings::DnsPrefetchEnabled, true);QWebEngineProfile::defaultProfile()-setUseForGlobalCertificateVerification(); #endifQUrl url commandLineUrlArgument();Widget view(nullptr, url);view.showFullScreen(); //全屏显示return app.exec(); } 二、无头浏览器 无头浏览器Headless Browser是一种没有图形用户界面GUI的浏览器。它通过在内存中渲染页面然后将结果发送回请求它的用户或程序来实现对网页的访问而不会在屏幕上显示网页。这种方式使得无头浏览器不仅适用于网络爬虫和测试等自动化任务而且还能够更安全地进行网页浏览因为它不会在屏幕上显示您的活动。 常见的无头浏览器包括Chrome Headless、PhantomJS、Puppeteer等常见的这些无头浏览器都属于互联网前后端开发相关的东西与Qt技术栈相关的比较少 1、基于QWebEnginePage实现无头浏览器 QWebEngine有两种实现方式一个QWidget框架下的QWebEngineView另一种是QML框架下的WebEngineView其中QWebEngineView包含QWebEnginePage的功能QWebEnginePage提供页面加载相关的功能QWebEngineView用于page的显示基于QWebEnginePage就可实现无头浏览器。 auto page new QWebEnginePage(this); page-setUrl(QUrl(https://www.qt.io/)); connect(page, QWebEnginePage::loadFinished, this, [](bool ok){qDebug() __FUNCTION__ song load is ok ok; }); 使用QWebEnginePage加载页面页面加载成功后就可以做一些操作如网络截图、爬虫、数据采集等。 QWebEnginePage支持QWebEngine内嵌浏览器相关的功能具体可查看相关接口 1、获取网页相关信息 2、注入javascript 3、打印pdf QML的WebEngineView没有像QWebEngineView把page的功能分开所以WebEngineView不能实现无头浏览器的效果。 最后需要注意的是如果是在控制台程序中运行QWebEnginePagemain函数的应用程序类型必须是QApplication使用QCoreApplication无法启动QWebEnginePage。 2、示例程序 mywebengineview.c #include mywebengineview.h #include QDebugMyWebEngineView::MyWebEngineView(QWidget *parent) : QWebEngineView(parent) {connect(this-page(),QWebEnginePage::linkHovered,this,MyWebEngineView::linkHovered);connect(lessHeadPage,QWebEnginePage::loadFinished,this,MyWebEngineView::lessheadPagePrintfToPdf); }//这个函数应该是由底层的QWebEnginePage发起调用的如果不想新建QWebEngineView在这儿覆写。 QWebEngineView *MyWebEngineView::createWindow(QWebEnginePage::WebWindowType type) {Q_UNUSED(type)//识别要无头浏览输出pdfif (newUrl.toString() https://www.baidu.com/s?wd小米汽车safyb_n_homepagersv_dlfyb_n_homepagefromsupercl3tnbaidutop10frtop1000rsv_idx2hisfilter1 ||newUrl.toString() https://www.baidu.com/s?wd国风浩荡文脉赓续safyb_n_homepagersv_dlfyb_n_homepagefromsupercl3tnbaidutop10frtop1000rsv_idx2hisfilter1){lessHeadPage.load(newUrl);}else{this-load(newUrl);}qDebug() createWindow url is : this-url();return 0; }void MyWebEngineView::linkHovered(QString url) {qDebug() linkHovered url is : url;newUrl QUrl(url); }//实现无头浏览输出pdf void MyWebEngineView::lessheadPagePrintfToPdf(bool ok) {Q_UNUSED(ok)lessHeadPage.printToPdf(QString(test.pdf)); } mywebengineview.h #ifndef MYWEBENGINEVIEW_H #define MYWEBENGINEVIEW_H #include QtWebEngineWidgetsclass MyWebEngineView : public QWebEngineView {Q_OBJECT public:explicit MyWebEngineView(QWidget *parent nullptr);QWebEngineView * createWindow(QWebEnginePage::WebWindowType type) override;void linkHovered(QString url);void lessheadPagePrintfToPdf(bool ok);private:QUrl newUrl;QWebEnginePage lessHeadPage; };#endif // MYWEBENGINEVIEW_H
http://www.hkea.cn/news/14273303/

相关文章:

  • 公司网站如何做优化页面模板功能
  • 四川建设人才培训网站河南建设厅网站查证
  • 传媒网站游戏源代码交易平台
  • 怎么给网站做logo色彩设计网站
  • 新余百度网站建设自学织梦做网站要多久
  • 网站原型图软件成都房地产公司排行榜
  • 建设wap手机网站那些网站容易做淘宝推广
  • 网站建设 技术 哪些方面佛山 品牌设计
  • 赚钱平台网站制作相册视频
  • 网站模板佳好乐云seo潍坊网站建设潍坊
  • 如何做查询网站网站推广方案整理
  • 上海网站建设公司 珍岛中山市住房和城乡建设局官网
  • 茂名企业自助建站系统2021年企业所得税政策
  • 广州企业网站建站公司哪家好广州番禺网站公司哪家好
  • 青岛网站建设一青岛博采网络wordpress 后台搜索
  • 群辉服务器建设的网站开通域名
  • 重庆建设工程信息网官网加密锁安装驱动东莞网站制作十年乐云seo
  • 河北邯郸中考成绩查询网站餐饮行业做微信网站有什么好处
  • 深圳营销型网站建设设计公司做网站高校视频
  • 网站建设服务代理商建筑人才网官网平台
  • 西安seo网站排名wordpress 招聘模板
  • 做ppt模仿网站wordpress游戏资讯
  • 工程网站开发定制做网站开发
  • 教材资源网站建设怎么seo关键词优化排名
  • 网站建设市场调研行业网站如何推广
  • php class 做网站什么网站免费可以做app
  • 江西省美丽乡村建设公布网站哪里有做效果图的
  • 杭州汇咖网站建设有限公司怎么样佛山企业如何建网站
  • 西安社动网站建设岳池县网站建设
  • 网站中的知识 视频从哪里来的有哪些做短租的网站好