Cpper
C/C++高级工程师 Android高级软件工程师 IT集成工程师 音频工程师 熟悉c,c++,java,c#,py,js,asp等多种语言 程序猿
1,软件界面如图:

2.代码如下:
class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget 
*parent = 0);
    
~Widget();
public slots:
    
void query(QNetworkReply* reply);
public slots:
    
void click();
private:
    QVBoxLayout
* layout;
    QLineEdit
*   link;
    QPushButton
* button;
    QTextEdit
*   edit;
    QNetworkAccessManager
* mgr;
};

#include <QtNetwork/QNetworkReply>
#include 
"widget.h"

Widget::Widget(QWidget 
*parent):QWidget(parent)
{
    layout 
= new QVBoxLayout;
    
this->setLayout(layout);
    link 
= new QLineEdit("http://qt.nokia.com");
    layout
->addWidget(link);
    button 
= new QPushButton("Check");
    layout
->addWidget(button);
    edit 
= new QTextEdit;
    layout
->addWidget(edit);
    mgr 
= new QNetworkAccessManager(this);
    connect(mgr,SIGNAL(finished(QNetworkReply
*)),this, SLOT(query(QNetworkReply*)));
    connect(button,SIGNAL(clicked()),
this,SLOT(click()));
}

Widget::
~Widget()
{
}

void Widget::query(QNetworkReply* reply)
{
    QString buffer 
= reply->readAll();
    edit
->setText(buffer);
}

void Widget::click()
{
    QString uri 
= link->text();
    mgr
->get(QNetworkRequest(QUrl(uri)));
}

需要说明的是Qt是使用异步的方式下载网页的

Pro文件
QT += core gui network
posted on 2011-11-12 20:13 ccsdu2009 阅读(1908) 评论(1)  编辑 收藏 引用
Comments
  • # re: QT学习笔记-26.使用QT抓取网页信息[未登录]
    菜鸟
    Posted @ 2013-08-24 14:02
    中文不能显示啊 怎么方法显示出来中文  回复  更多评论   

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理