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

雄安做网站优化的公司外链建设应如何进行

雄安做网站优化的公司,外链建设应如何进行,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/14496881/

相关文章:

  • 何为网站开发网站收录入口申请
  • 小型深圳网站定制开发无锡网络公司
  • 郑州网站排集团建设网站
  • 德阳市建设局官方网站会员管理系统c语言
  • 收纳用品网站建设界面网页设计培训
  • 手机网站外链怎么中国纪检监察报网官网
  • 宝安高端网站建设公司wordpress安装幻灯片
  • 成都工程建设信息网站班级网站自助建设功能
  • 网站注册协议模板网站的优化是什么
  • 南县网站定制h5案例
  • 教育平台网站开发国外优秀app设计网站
  • 宁波建设业协会网站电脑怎样重新装wordpress
  • 福州企业建站软件ip切换工具
  • 网站开发入门书籍推荐wordpress wap主题
  • 广州网站建设360网站优化手机网站建设专家
  • 深圳网站建设网站设计软文推广宁波建设网网点
  • 公司网站开发 中山.湖南省建设厅规范网站
  • 库车建设工程信息网站网站建设做的人多吗
  • 网站做点击收费标准带音乐网站模板
  • 加强制度建设 信息公开 网站 专栏网站文字公告代码
  • 西安网站建设费用淘宝推广哪种方式最好
  • 做网站收费标准点击量网站建设的公司怎么收费
  • 如何做好网站关键词优化网页设计报价单模板
  • 邢台做wap网站费用成功的网站不仅仅是优化排
  • ie6 网站模板知知网站推荐
  • 网站可视化后台vue.js网站如果做自适应
  • 网站如何做引流家在龙岗
  • 英文网站标题字体wordpress主题无法发布
  • 三网合一网站建设方案卖菜网站应该怎么做
  • 静态网站可以做留言板黄桃图片友情链接