随笔 - 272  文章 - 0  评论 - 283  阅读 - 142万

windows下用QTwebkit解析html

环境

windows7 + VS2010 + QT5.2_opengl

配置开发环境

1、安装VS2010

2、安装QT 5.2

QT网站:http://qt-project.org/downloads

下载并安装QT5.2:Qt 5.2.1 for Windows 32-bit (VS 2010, OpenGL, 517 MB)

3、安装Visual Studio Add-in for QT5

下载地址:Visual Studio Add-in 1.2.2 for Qt5

4、配置VS 2010

配置路径:QT5 ==> "Qt Options" ==> "Qt Versions" ==> Add

默认路径为:C:\Qt\Qt5.2.0\5.2.0\msvc2010_opengl

解析html

1、建立QtWebkit工程

操作路径:VS2010 ==> File ==> New ==> Project ==> "Qt5 Projects" ==> "Qt Application"

注意事项

在"Project Settings"里面选中“WebKit”和“Webkit Widgets”选项: 

2、添加头文件

#include <QtGui>
#include <QtWebKit>
#include <QWebView>

3、解析内容

3.1、解析http形式的url

使用QWebView的setUrl方法,示例如下:

QWebView view;
view.show();
view.setUrl(QUrl("http://www.cnblogs.com/mikezhang"));

3.2、解析本地文件

使用QWebView的setUrl方法,示例如下:

QWebView view;
view.show();
view.setUrl(QUrl("file:///E:/tmp/1.html"));

3.3、解析html字符串

使用QWebView的setHtml方法,示例如下:

QApplication app(argc, argv);
QWebView view;
view.show();
std::ifstream fin("E:/tmp/1.html");  
std::stringstream buffer;  
buffer << fin.rdbuf();  
fin.close();
view.setHtml(buffer.str().c_str());

完整代码如下

复制代码
#include <QtGui>
#include <QtWebKit>
#include <QWebView>

#include <fstream>
#include <string>
#include <sstream> 

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QWebView view;
    view.show();

    // Method 1 : a remote url
    //view.setUrl(QUrl("http://www.cnblogs.com/mikezhang"));

    // Method 2 : a local url
    //view.setUrl(QUrl("file:///E:/tmp/1.html"));   

    // Method 3 : set html content  
    std::ifstream fin("E:/tmp/1.html");  
    std::stringstream buffer;  
    buffer << fin.rdbuf();  
    fin.close();
    view.setHtml(buffer.str().c_str());

    return app.exec();
}
View Code
复制代码

 

本文github地址:

https://github.com/mike-zhang/mikeBlogEssays/blob/master/2014/20140205_windows下用QTwebkit解析html.md

欢迎补充

posted on   Mike_Zhang  阅读(4061)  评论(1编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示