调味料来了的个人主页

http://www.qtcn.org/bbs/u/145962  [收藏] [复制]

调味料来了

  • 3

    关注

  • 1

    粉丝

  • 15

    访客

  • 等级:新手上路
  • 总积分:67
  • 保密,2013-09-11

最后登录:2017-12-26

更多资料

日志

Qt显示网络图片【来自OSCHINA-海之朝露】

2014-02-26 09:22


项目要用到 记录一下



1. [文件] CImage.cpp ~ 1KB     下载(45)     跳至 [1] [2] [3] [全屏预览]




view sourceprint?
01#include <QtGui/QtGui>

02

03#include "CImage.h"

04

05CImage::CImage(QWidget  *parent):QDialog(parent)

06{

07    ImageLabel=new QLabel(tr("加载中."));

08    

09    QVBoxLayout *vboxLayout = new QVBoxLayout;

10    vboxLayout->addWidget(ImageLabel);

11    setLayout(vboxLayout);

12

13    setWindowTitle(tr("加载网络图片测试"));

14    resize(300, 200);

15      

16    currentPicture = new QPixmap;

17    

18    //获取网络图片

19    QNetworkAccessManager *manager;

20    manager = new QNetworkAccessManager(this);

21

22    connect(manager, SIGNAL(finished(QNetworkReply*)),

23                this, SLOT(replyFinished(QNetworkReply*)));

24    manager->get(QNetworkRequest(QUrl("http://www.oschina.net/img/logo_s2.png")));

25}

26

27

28void CImage::replyFinished(QNetworkReply *reply)

29{

30    if(reply->error() == QNetworkReply::NoError)

31    {

32        //获取字节流构造 QPixmap 对象

33        currentPicture->loadFromData(reply->readAll());

34        QDateTime now;

35        QString filename = now.currentDateTime().toString("yyMMddhhmmss.jpg");

36        currentPicture->save(filename);//保存图片

37        //qDebug()<<"picture saved as "<<filename;

38        currentFileName = filename;

39        

40        //可以在onpaint中 用QPixmap 显示currentPicture,则这种方法则不需要保存

41        

42        //显示图片,

43        QMovie *move = new QMovie(currentFileName);

44        ImageLabel->setMovie(move);

45        move->start();

46    }

47}



2. [文件] CImage.h ~ 600B     下载(29)    



01#ifndef CIMAGE_H
02#define CIMAGE_H
03#include <QtGui/QDialog>
04#include <QLabel>
05#include <QMovie>
06#include <QNetworkAccessManager>
07#include <QUrl>
08#include <QNetworkRequest>
09#include <QNetworkReply>
10#include <QPixmap>
11
12class QLabel;
13class QLineEdit;
14class QPushButton;
15
16class CImage:public QDialog
17{
18    Q_OBJECT
19public:
20    CImage(QWidget *parent=0);
21    virtual ~CImage() {}
22private:
23    QLabel *ImageLabel;
24    QPushButton *ImageButton;
25    QPixmap *currentPicture;
26    QString currentFileName;
27public slots:
28    void replyFinished(QNetworkReply *reply);
29};
30
31#endif // CIMAGE_H


3. [文件] main.cpp ~ 223B     下载(35)    




01#include<QtGui/QtGui>
02#include"CImage.h"

03
04int main(int argc,char*argv[])

05{
06    QApplication app(argc,argv);

07    QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
08    CImage dlg;

09    return dlg.exec();
10}



4. [文件] CImage.zip ~ 22KB     下载(136)    

分类:默认分类|回复:0|浏览:2252|全站可见|转载
 

Powered by phpwind v8.7 Certificate Copyright Time now is:04-29 20:11
©2005-2016 QTCN开发网 版权所有 Gzip disabled