精华内容
下载资源
问答
  • Qt之路qt网页版.zip

    2017-07-18 17:40:59
    Qt之路qt网页版.zip
  • QT网页制作

    2013-11-18 19:38:19
    qt开发网页制作教程,制作简单的360网页桌面系统,纯网站静态
  • paip c++ qt 网页爬虫 的 网络编程 总结

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

    也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

                    paip.c++ qt 网页爬虫 的 网络编程 总结 


    作者Attilax ,  EMAIL:1466519819@qq.com 
    来源:attilax的专栏
    地址:http://blog.csdn.net/attilax




    1.项目添加网络模块。
    --------------
    工程名为“http”,然后选中QtNetwork模块,最后Base class选择QWidget 。注意:如果新建工程时没有添加Qt Network模块,那么就要手动在工程文件.pro中添加代码


    QT += network  
    表明我们使用了网络模块。


    2.添加net类:必须幺继承QObject.贝儿.不能关联事件..好像也能直接写的个头文件黑头了..
    -----------
    ---atiNet.h--------
    #ifndef ATINET_H
    #define ATINET_H


    #include <QObject>
    #include <QNetworkAccessManager>
    #include <QNetworkRequest>
    #include <QNetworkReply>
    #include <QtCore>
    #include <iostream>
    using namespace std ;


    class atiNet : public QObject
    {
        Q_OBJECT
    public:
        explicit atiNet();
         static QString  getHtml(QString url);


    signals:


    public slots:


    };


    #endif // ATINET_H




    ---atinet.cpp-------
    #include "atinet.h"


    atiNet::atiNet()
    {
    }


     QString  atiNet::getHtml(QString url)
       {
           QNetworkAccessManager *manager = new QNetworkAccessManager();
           QNetworkReply *reply = manager->get(QNetworkRequest(QUrl(url)));
           QByteArray responseData;
           QEventLoop eventLoop;
           connect(manager, SIGNAL(finished(QNetworkReply*)), &eventLoop, SLOT(quit()));
           eventLoop.exec();       //block until finish
           responseData = reply->readAll();
           return QString(responseData);
       }




       
     3.调用:
     ------------
     int main(int argc, char *argv[])
    {
      QCoreApplication a(argc, argv);


     //
        QString url="http://www.oschina.net/code/snippet_28714_18932";
        QString html= atiNet::getHtml(url);
        qDebug() <<html;
     //   printf(html);
         return a.exec();
    }
     
     
     
     
    参考:
    Qt网络之HTTP编程(1) - 51CTO.COM.htm
    QTE下通过Http协议以同步方式与Web服务器通信的实现 - CityFantom的专栏 - 博客频道 - CSDN.NET.htm
    qt同步方式进行http请求   coolEx.htm
    Qtopia2 编译过程错误总结与解决方法 - yimiyangguang1314的专栏 - 博客频道 - CSDN.NET.htm
    Qt网络编程之QNetworkAccessManager - chenlong12580的专栏 - 博客频道 - CSDN.NET.htm
    QT获取网页内容 - 开源中国社区.htm




                

    给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

    这里写图片描述
    展开全文
  • paip.c++ qt 网页爬虫 的 网络编程 总结  作者Attilax , EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http://blog.csdn.net/attilax 1.项目添加网络模块。 -------------- 工程名为...
    paip.c++ qt 网页爬虫 的 网络编程 总结 


    作者Attilax ,  EMAIL:1466519819@qq.com 
    来源:attilax的专栏
    地址:http://blog.csdn.net/attilax




    1.项目添加网络模块。
    --------------
    工程名为“http”,然后选中QtNetwork模块,最后Base class选择QWidget 。注意:如果新建工程时没有添加Qt Network模块,那么就要手动在工程文件.pro中添加代码


    QT += network  
    表明我们使用了网络模块。


    2.添加net类:必须幺继承QObject.贝儿.不能关联事件..好像也能直接写的个头文件黑头了..
    -----------
    ---atiNet.h--------
    #ifndef ATINET_H
    #define ATINET_H


    #include <QObject>
    #include <QNetworkAccessManager>
    #include <QNetworkRequest>
    #include <QNetworkReply>
    #include <QtCore>
    #include <iostream>
    using namespace std ;


    class atiNet : public QObject
    {
        Q_OBJECT
    public:
        explicit atiNet();
         static QString  getHtml(QString url);


    signals:


    public slots:


    };


    #endif // ATINET_H




    ---atinet.cpp-------
    #include "atinet.h"


    atiNet::atiNet()
    {
    }


     QString  atiNet::getHtml(QString url)
       {
           QNetworkAccessManager *manager = new QNetworkAccessManager();
           QNetworkReply *reply = manager->get(QNetworkRequest(QUrl(url)));
           QByteArray responseData;
           QEventLoop eventLoop;
           connect(manager, SIGNAL(finished(QNetworkReply*)), &eventLoop, SLOT(quit()));
           eventLoop.exec();       //block until finish
           responseData = reply->readAll();
           return QString(responseData);
       }




       
     3.调用:
     ------------
     int main(int argc, char *argv[])
    {
      QCoreApplication a(argc, argv);


     //
        QString url="http://www.oschina.net/code/snippet_28714_18932";
        QString html= atiNet::getHtml(url);
        qDebug() <<html;
     //   printf(html);
         return a.exec();
    }
     
     
     
     
    参考:
    Qt网络之HTTP编程(1) - 51CTO.COM.htm
    QTE下通过Http协议以同步方式与Web服务器通信的实现 - CityFantom的专栏 - 博客频道 - CSDN.NET.htm
    qt同步方式进行http请求   coolEx.htm
    Qtopia2 编译过程错误总结与解决方法 - yimiyangguang1314的专栏 - 博客频道 - CSDN.NET.htm
    Qt网络编程之QNetworkAccessManager - chenlong12580的专栏 - 博客频道 - CSDN.NET.htm
    QT获取网页内容 - 开源中国社区.htm




     
    展开全文
  • Qt网页数据抓取

    2014-11-20 16:42:32
    我现在网页上的数据可以抓取下来,我要实时的抓取网页数据,我设置1s抓取一次,可是发现 要显示的内容不是随时间变化的 webpage_resolution::webpage_resolution(QWidget *parent) : QWidget(parent) { /...
  • QT网页信息扫描~

    2013-09-19 11:03:14
    抓个小站信息 只需几秒~

    抓个小站信息 只需几秒~








    展开全文
  • Qt 嵌入网页

    千次阅读 2020-03-31 13:53:51
    Qt 嵌入网页Qt(版本5.6以上)自带控件MSVC版本,使用Qt WebEnginemingw 版本,使用QAxWidget第三方 Qt(版本5.6以上)自带控件 MSVC版本,使用Qt WebEngine 在安装Qt是需要选择支持Qt WebEngine: mingw 版本,...

    Qt 版本5.6以上.

    MSVC版本:Qt WebEngine

    在安装Qt时需要选择支持Qt WebEngine:
    在这里插入图片描述
    如果只是访问本地html可以不需要network

    QT +=  webenginewidgets webchannel network
    

    在这里插入图片描述
    添加布局窗口Widget,提升部件QWebEngineView
    在这里插入图片描述

    显示在线网页:

    ui->widget->setUrl(QUrl(QStringLiteral("https://www.baidu.com")));
    

    显示本地网页:

    ui->widget->setUrl(QUrl("E:/workspace/Qt_workspace/Qt_JS_Demo/test.html"));
    

    设置缩放比例:

     ui->widget->setZoomFactor(0.5);
    

    本地网页JS与Qt相互掉调用:

    html全部代码如下(其中qwebchannel.js在Qt的安装目录下可以找到):

    <!DOCTYPE html>
    <html>
    <head>
    	<script src="qwebchannel.js"></script>
    	<script type="text/javascript">
    
    		function showAlert(data) {
    			alert(data);
    		}
    		var data=0;
    		function jsInvokeC() {
    			bridgeJS.getdate(data++);
    		}
    	  
    		// QT交互
    		new QWebChannel(qt.webChannelTransport, function(channel) {
    			window.bridgeJS = channel.objects.bridge;  
    	   });
    	</script>
    </head>
    <body>
    	<div>
    		<input type="button" value="调用c++" onclick="jsInvokeC()">
    	</div>
    </body>
    </html>
    

    在这里插入图片描述
    Qt工程代码如下:
    在这里插入图片描述在这里插入图片描述
    Qt调用JS方法按如下使用:

     ui->widget->page()->runJavaScript(QString("showAlert(%1)").arg(参数).toLatin1().data());
    

    项目点击这里可以下载下来参考。

    MinGW 版本:QAxWidget

    查看机器注册表文件,按路径找到下图的位置,图中右边的数据代码中需要用到:
    在这里插入图片描述
    布局如下
    在这里插入图片描述
    QT += axcontainer
    显示本地网页:

    	QAxWidget *myWidget = new QAxWidget(this);
        ui->mainLayout->addWidget(myWidget);
        myWidget->setControl(QString::fromUtf8("{8856F961-340A-11D0-A96B-00C04FD705A2}"));//注册组件UUID
        myWidget->setObjectName(QString::fromUtf8("my_musicLibraryWebWid"));//设置控件的名称
        myWidget->setFocusPolicy(Qt::StrongFocus);       //设置控件接收键盘焦点的方式:鼠标单击、Tab键
        myWidget->setProperty("DisplayAlerts",false);    //不显示任何警告信息。
        myWidget->setProperty("DisplayScrollBars",true); // 显示滚动条
        QString sFilePath = "E:/workspace/Qt_workspace/Qt_JS_Demo/test.html";
        myWidget->dynamicCall("Navigate(const QString&)",sFilePath.trimmed());
    

    http网页(只有最后两行有区别):

    	QAxWidget *myWidget = new QAxWidget(this);
        ui->mainLayout->addWidget(myWidget);
        myWidget->setControl(QString::fromUtf8("{8856F961-340A-11D0-A96B-00C04FD705A2}"));//注册组件UUID
        myWidget->setObjectName(QString::fromUtf8("my_musicLibraryWebWid"));//设置控件的名称
        myWidget->setFocusPolicy(Qt::StrongFocus);       //设置控件接收键盘焦点的方式:鼠标单击、Tab键
        myWidget->setProperty("DisplayAlerts",false);    //不显示任何警告信息。
        myWidget->setProperty("DisplayScrollBars",true); // 显示滚动条
        QString webstr = QString("www.baidu.com");//设置要打开的网页
        myWidget->dynamicCall("Navigate(const QString&)",webstr);
    

    未尝试与JS交互。

    MinGW 版本:miniblink

    GitHub地址,用到的头文件和dll也可以点这里下载。
    布局:
    在这里插入图片描述
    工程中添加node.dllwkedefine.h
    在这里插入图片描述
    编译一下,把node.dll添加到exe的同级目录下:
    在这里插入图片描述
    初始化wke:

    #include <wkedefine.h>
    wkeInitialize();
    

    在这里插入图片描述
    mainwindow.cpp添加下面几行就可以显示在线网页了:

    #include <wkedefine.h>
    
    MainWindow::MainWindow(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::MainWindow)
    {
        ui->setupUi(this);
    
        // 绑定显示控件
        wkeWebView webView= wkeCreateWebWindow(WKE_WINDOW_TYPE_CONTROL, (HWND)ui->widget->winId(), 0, 0, ui->widget->width(),ui->widget->height());
        // 显示wkeWebView
        wkeShowWindow(webView, true);
        // 加载网页
        QString url = "https://www.baidu.com";
        wkeLoadURL(webView,url.toLatin1().data());
        // 显示缩放
        wkeSetZoomFactor(webView, 0.5f);
    }
    

    显示本地网页并实现与JS互相调用

    相比Qt WebEngine,wke要实现互相调用html会更简洁:

    <!DOCTYPE html>
    <html>
    <head>
    	<script type="text/javascript">
    		function showAlert(data) {
    			alert(data);
    		}
    		
    		var data=0;
    		function jsInvokeC() {
    			getdate(data++);
    		}
    	</script>
    </head>
    <body>
    	<div>
    		<input type="button" value="调用c++" onclick="jsInvokeC()">
    	</div>
    </body>
    </html>
    

    下图中的几条箭头表示Qt和JS的方法名要相互对应:
    在这里插入图片描述

    #include "mainwindow.h"
    #include "ui_mainwindow.h"
    #include <QFile>
    #include <wkedefine.h>
    wkeWebView webView;
    //js调用c++接口
    jsValue JS_CALL getdate(jsExecState es)
    {
        qDebug(jsToString(es, jsArg(es, 0)));
        return jsFalse();
    }
    
    MainWindow::MainWindow(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::MainWindow)
    {
        ui->setupUi(this);
        
        // 关于wke函数详见 wkedefine.h
        // 创建wkeWebView实例并将其绑定到qt界面中的widget控件
        webView= wkeCreateWebWindow(WKE_WINDOW_TYPE_CONTROL, (HWND)ui->widget->winId(), 0, 0, ui->widget->width(),ui->widget->height());
        // 显示wkeWebView
        wkeShowWindow(webView, true);
        // 加载本地网页
        QFile file("E:/workspace/Qt_workspace/Qt_JS_Demo/test.html");
        file.open(QIODevice::ReadOnly);
        wkeLoadHTML(webView,file.read(file.bytesAvailable()));
        file.close();
    
        //绑定js要调用的c++方法,第一个参数是js中执行的方法,第二个参数是c++中定义的全局方法,第三个参数是方法传递的参数个数
        jsBindFunction("getdate",getdate,1);
    }
    
    void MainWindow::on_pushButton_clicked()
    {
        static int count = 0;
        wkeRunJS(webView,QString("showAlert(%1)").arg(++count).toLatin1().data());
    }
    
    MainWindow::~MainWindow()
    {
        delete ui;
    }
    

    这样就可以实现相互调用:
    在这里插入图片描述
    点击这里下载参考demo,需要把node.dll复制到exe同级目录,编译选择MinGW 32bit
    注意:开源免费版本方式不支持webgl
    比如ECharts的示例图示例图
    在Qt中显示就会出现错误提示:
    在这里插入图片描述
    使用Qt WebEngine就可以正常显示:
    在这里插入图片描述

    展开全文
  • Qt 加载网页

    千次阅读 2018-02-24 18:42:14
    Qt 加载网页 flyfish 环境 Qt版本:Qt 5.10.0 Pro文件 QT += webenginewidgets mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include &lt;QtWebEngineWidgets&gt; #include &lt;...
  • QT嵌入网页

    热门讨论 2014-07-04 23:32:41
    我也不要你积分,如果你正需要QT嵌入一个网页,这个很精简的代码,你真的会感激。
  • qt打开网页

    2018-08-01 10:55:53
    用类QAxWidget打开网页,并且显示内容。。。。。。。。
  • qt线程网页资料收集

    2009-10-11 16:41:50
    qt线程网页资料收集qt线程网页资料收集qt线程网页资料收集qt线程网页资料收集qt线程网页资料收集qt线程网页资料收集qt线程网页资料收集qt线程网页资料收集qt线程网页资料收集qt线程网页资料收集
  • 首先先说说QtWebkit、QtWebEngine、QAxWidget三种方式显示网页的应用场景 QtWebkit:在Qt5.6以前,都是使用QtWebkit组件,但Qt5.6以后,移除了QtWebkit这个组件 QtWebEngine:Qt5.6以后的MSVC版本,引进了基于...
  • QT打开网页

    2020-01-21 12:27:06
    如果使用Qt开发界面,往往离不开QDesktopServices,QDesktopServices不仅可以打开本地浏览器,而且还可以打开本地文件(夹)等,可以获取桌面、我的文档、Home等目录。 建立QT Widgets Application工程 在main.cpp...
  • QT访问网页获取Cookie

    2014-11-19 16:36:59
    QT访问网页获取Cookie
  • qt显示网页代码

    热门讨论 2012-03-01 18:27:10
    qt网络 qt html
  • QtQt实现网页自动刷新工具

    千次阅读 2018-10-24 23:32:10
    使用Qt实现网页刷新工具 前言 最近在看一本《C++黑客编程揭秘和防范》 ,刚开始学,感觉书还不错,有讲一些windows API,不过里面的工具都是使用VC++写的,界面部分使用的mfc的一些API,感觉太不友好来,笔者 想的...
  • qt批量下载网页图片

    2016-10-13 13:21:14
    qt批量下载网页图片

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,635
精华内容 654
关键字:

qt网页