精华内容
下载资源
问答
  • QT加载网络图片

    千次阅读 2016-01-30 14:15:21
    1.网络图片这里指的是,服务器上面保存的图片,给你一个链接,你可以在浏览器里面打开的图片。 2.网络图片的显示跟网络音频,视频不太一样,要比它们麻烦。 因为QT 的QMediaPlayer 类中,有设置URL地址的接口...

    1.网络图片这里指的是,服务器上面保存的图片,给你一个链接,你可以在浏览器里面打开的图片。


    2.网络图片的显示跟网络音频,视频不太一样,要比它们麻烦。

    因为QT 的QMediaPlayer 类中,有设置URL地址的接口,而显示图片就没有这种接口。

    如QMediaPlayer 的 m_qtaudioPlayer->setMedia(QUrl::fromLocalFile(m_audioChangedPath)); 它是可以直接调用url的。


    3.如何显示网络链接的图片?

    QNetworkAccessManager manager;

    manager->get(QNetworkRequest(url));    // 这里的url一定要带上http://头的, 跟在浏览器里输入其它链接不太一样,浏览器里面会自动转的,这里需要手动加上。

    connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(slotReplyPixmapLoad(QNetworkReply*)));

    void DoWorkDialog::slotReplyPixmapLoad(QNetworkReply* reply)
    {
    QPixmap pixmap;
    pixmap.loadFromData(reply->readAll());
    m_ui->countPictureLabel->setPixmap(pixmap);
    }


    展开全文
  • C++ QT 加载网络图片、本地图片

    千次阅读 2018-11-26 17:59:36
    源码下载:C++_QT 加载图片 QTShowImage.cpp #include "QtShowImage.h" #include <QMovie> #include <QNetworkAccessManager> #include <QUrl> #include &...

    源码下载:C++_QT 加载图片

    QTShowImage.cpp

    #include "QtShowImage.h"
    #include <QMovie>
    #include <QNetworkAccessManager>
    #include <QUrl>
    #include <QNetworkRequest>
    #include <QNetworkReply>
    #include <QPixmap>
    #include<QImage>
    
    QtShowImage::QtShowImage(QWidget *parent)
    	: QMainWindow(parent)
    {
    	ui.setupUi(this);
    	connect(ui.pushButton, SIGNAL(pressed()), this, SLOT(on_pushButton_clicked()));
    	connect(ui.pushButton_2, SIGNAL(pressed()), this, SLOT(on_pushButton_2_clicked()));
    
    }
    
    void QtShowImage::on_pushButton_clicked()
    {
    	currentPicture = new QPixmap;
    	//获取网络图片
    	QNetworkAccessManager *manager;
    	manager = new QNetworkAccessManager(this);
    
    	connect(manager, SIGNAL(finished(QNetworkReply*)),
    		this, SLOT(replyFinished(QNetworkReply*)));
    	manager->get(QNetworkRequest(QUrl("http://www.eutrom.com/images/case_unit_1.png")));
    }
    
    void QtShowImage::on_pushButton_2_clicked()
    {
    	currentPicture = new QPixmap("./Images/head.png");
    	QPixmap tianqi_pixmap = currentPicture->scaled(ui.labelImage->width(), ui.labelImage->height(), Qt::KeepAspectRatio);
    	ui.labelImage->setPixmap(tianqi_pixmap);
    }
    
    void QtShowImage::replyFinished(QNetworkReply *reply)
    {
    	if (reply->error() == QNetworkReply::NoError)
    	{
    		//获取字节流构造 QPixmap 对象 
    		currentPicture->loadFromData(reply->readAll());
    		QDateTime now;
    		QString filename = now.currentDateTime().toString("yyMMddhhmmss.jpg");
    		currentPicture->save(filename);//保存图片
    		currentFileName = filename;
    		可以在onpaint中 用QPixmap 显示currentPicture,则这种方法则不需要保存
    		QPixmap tianqi_pixmap = currentPicture->scaled(ui.labelImage->width(), ui.labelImage->height(), Qt::KeepAspectRatio);
    		//Qt::IgnoreAspectRatio, Qt::SmoothTransformation);//设置图片大小和label的长宽一致
    		ui.labelImage->setPixmap(tianqi_pixmap);
    		//显示图片,  
    		QMovie *move = new QMovie(currentFileName);
    		//ui->lableImg->setMovie(move);
    		move->start();
    	}
    }

    QtShowImage.h

    #pragma once
    
    #include <QtWidgets/QMainWindow>
    #include "ui_QtShowImage.h"
    #include <QMovie>
    #include <QNetworkAccessManager>
    #include <QUrl>
    #include <QNetworkRequest>
    #include <QNetworkReply>
    #include <QPixmap>
    class QtShowImage : public QMainWindow
    {
    	Q_OBJECT
    
    public:
    	QtShowImage(QWidget *parent = Q_NULLPTR);
    
    private:
    	Ui::QtShowImageClass ui;
    	QPixmap *currentPicture;
    	QString	currentFileName;
    
    private slots:
    void on_pushButton_clicked();
    void on_pushButton_2_clicked();
    void replyFinished(QNetworkReply * reply);
    };
    

    效果图

    展开全文
  • //获取网络图片 public slots: void replyFinished(QNetworkReply *reply);//获取图片完成 槽 private: Ui::Recipel *ui; QPixmap *currentPicture; QString currentFileName; }; #endif // RECIPEL_H cpp 文件内容 ...

    感谢原文链接 https://blog.csdn.net/wzq806341010/article/details/84553742
    .h 文件内容

    #ifndef RECIPEL_H
    #define RECIPEL_H
    
    #include <QDialog>
    #include <QString>
    
    #include <QMovie>
    #include <QNetworkAccessManager>
    #include <QUrl>
    #include <QNetworkRequest>
    #include <QNetworkReply>
    #include <QPixmap>
    
    namespace Ui {
    class Recipel;
    }
    
    class Recipel : public QDialog
    {
        Q_OBJECT
    
    public:
        explicit Recipel(QWidget *parent = nullptr);
        ~Recipel();
    public:
        void tableWidgetSet();//处方表格设置
        void getImg(QString imgUrl);//获取网络图片
    public slots:
        void replyFinished(QNetworkReply *reply);//获取图片完成 槽
    private:
        Ui::Recipel *ui;
    
        QPixmap *currentPicture;
        QString	currentFileName;
    };
    
    #endif // RECIPEL_H
    
    

    cpp 文件内容

    #include "recipel.h"
    #include "ui_recipel.h"
    
    Recipel::Recipel(QWidget *parent) :
        QDialog(parent),
        ui(new Ui::Recipel)
    {
        QString imgUrl = "https://img-blog.csdnimg.cn/20181126175528867.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d6cTgwNjM0MTAxMA==,size_16,color_FFFFFF,t_70";  
       this->getImg(imgUrl);
    }
    
    //显示网络图片
    void Recipel::getImg(QString imgUrl)
    {
            currentPicture = new QPixmap;
            //获取网络图片
            QNetworkAccessManager *manager;
            manager = new QNetworkAccessManager(this);
    
            connect(manager,SIGNAL(finished(QNetworkReply*)),this,SLOT(replyFinished(QNetworkReply*)));
            manager->get(QNetworkRequest(QUrl(imgUrl )));
    }
    
    void Recipel::replyFinished(QNetworkReply *reply)
    {
        if (reply->error() == QNetworkReply::NoError)
        {
            //获取字节流构造 QPixmap 对象
            currentPicture->loadFromData(reply->readAll());
            QDateTime now;
            QString filename = now.currentDateTime().toString("yyMMddhhmmss.jpg");
            currentPicture->save(filename);//保存图片
            currentFileName = filename;
            //可以在onpaint中 用QPixmap 显示currentPicture,则这种方法则不需要保存
            QPixmap tianqi_pixmap = currentPicture->scaled(ui->labelImage->width(), ui->labelImage->height(), Qt::KeepAspectRatio);
            //Qt::IgnoreAspectRatio, Qt::SmoothTransformation);//设置图片大小和label的长宽一致
            ui->labelImage->setPixmap(tianqi_pixmap);
            //显示图片,
            QMovie *move = new QMovie(currentFileName);
            //ui->lableImg->setMovie(move);
            move->start();
        }
    }
    
    
    
    展开全文
  • QT QLabel加载网络图片

    2019-11-03 17:25:10
    1.简单加载方法: void widget::on_pushButton_clicked(){ QString szUrl="https://XXX9a74.jpg"; QUrl url(szUrl); QNetworkAccessManager manager; QEventLoop loop; // qDebug() << "Re...

    1.简单加载方法:

    void widget::on_pushButton_clicked(){

        QString szUrl="https://XXX9a74.jpg";

        QUrl url(szUrl);

        QNetworkAccessManager manager;

        QEventLoop loop;

        // qDebug() << "Reading picture form " << url;

        QNetworkReply *reply = manager.get(QNetworkRequest(url));

        //请求结束并下载完成后,退出子事件循环

        QObject::connect(reply, SIGNAL(finished()), &loop, SLOT(quit()));

        //开启子事件循环

        loop.exec();

        QByteArray jpegData = reply->readAll();

        QPixmap pixmap;

        pixmap.loadFromData(jpegData);

        ui->label->setPixmap(pixmap); // 你在QLabel显示图片

    }

    2.保存文件到本地

    void widget::downloadFileFromUrl(QString strUrl, QString strFilePath){

        qDebug() << strUrl << "    " << strFilePath;

        QFile file;

        file.setFileName(strFilePath);

        if(file.open(QIODevice::WriteOnly))

        {

            QByteArray byte = InitGetRequest(strUrl, "downImgFromUrl");

            file.write(byte);

            file.close();

        }

    }

    //get

    QByteArray widget::InitGetRequest(QString url, QString obj)

    {

        //循环拼接

        QString baseUrl =url;

        //构造请求

        QNetworkRequest request;

        request.setUrl(QUrl(baseUrl));

        QNetworkAccessManager *manager = new QNetworkAccessManager();

        // 发送请求

        QNetworkReply *pReplay = manager->get(request);

        //开启一个局部的事件循环,等待响应结束,退出

        QEventLoop eventLoop;

        QObject::connect(pReplay,SIGNAL(finished()), &eventLoop, SLOT(quit()));


     

        //add timeout deal

        QTimer *tmpTimer = new QTimer();

        connect(tmpTimer,SIGNAL(timeout()),&eventLoop, SLOT(quit()));

        tmpTimer->setSingleShot(true);

        tmpTimer->start(5000);

        eventLoop.exec();

        tmpTimer->stop();


     

        if (pReplay->error() == QNetworkReply::NoError)

        {

            qInfo() << QString("request %1 NoError").arg(obj);

        }

        else

        {

            qWarning()<<QString("request %1 handle errors here").arg(obj);

            QVariant statusCodeV = pReplay->attribute(QNetworkRequest::HttpStatusCodeAttribute);

            //statusCodeV是HTTP服务器的相应码,reply->error()是Qt定义的错误码,可以参考QT的文档

            qWarning()<<QString("request %1 found error ....code: %2 %3").arg(obj).arg(statusCodeV.toInt()).arg((int)pReplay->error());

            qWarning(qPrintable(pReplay->errorString()));

        }

        //获取响应信息

        QByteArray bytes = pReplay->readAll();

        return bytes;}

     

    展开全文
  • QT加载大量图片时很慢,这里想到个办法是加载一张图片就将其显示出来。但是该如何实现呢?最好有个demo例子,小白一只。。。
  • 某机器人项目中,需要加载构建的地图,此处仅测试直接加载图片的时间。 相关博客 《QT三大绘图类:QPixmap/QImage/QPicture》:https://blog.csdn.net/qq21497936/article/details/79231365 测试代码 ...
  • ImageView:Qt自定义图片显示控件-支持加载本地图片和网络图片,并支持缓存
  • C++ QT 显示图片

    2018-11-26 17:53:33
    采用c++和QT加载网络图片、加载本地图片,可以直接附加项目,看运行效果
  • Qt 动态加载图片

    2017-10-13 20:30:36
    } if(if_reload) { //重新加载视频时,重置以下变量 delete layout_video; delete mediaPlayer; delete videoWidget; } if_reload = true; mediaPlayer = new QMediaPlayer(); videoWidget = new QVideoWidget(); ...
  • Qt 加载视频和图片

    千次阅读 2017-09-30 04:48:32
    //点击了某个图片调用函数 } // 最大化窗口显示图像 void MainWindow::slot_itemClicked(QListWidgetItem * item) { m_showWidget.setPixmap(QPixmap(m_strPath + "\\" + m_imgList.at(m_listWidget->row(item))));...
  • 1、Qt界面加载网络摄像头,并实时显示 2、使用OpenCV、RTSP打开摄像头 3、适合初学者 4、本人使用Qt5.10.0、vs2015、opencv3.4.3,必须在运行根目录添加opencv动态库或将此库添加环境变量
  • qt关于获取网络图片并保存在本地,运用QNetworkAccessManager,QNetworkReply,QNetworkRequest
  • Qt 之显示网络图片

    万次阅读 热门讨论 2016-03-01 16:07:03
    简述Qt中包含了网络模块-network,我们可以很容易的进行各种网络编程和数据传输,关于...下面我们先看一个简单地示例:Qt显示一个网络图片。简述 效果 源码 处理方式效果源码创建按钮及显示图像的标签,连接信号槽。
  • 文章目录一、QT工程添加图片资源二、QT工程使用QImage加载图片显示 一、QT工程添加图片资源 到了此步,按下Ctrl+s按键即可。 此时可看到工程下多了以下文件。 二、QT工程使用QImage加载图片显示 /...
  • Qt 加载图片到QLabel上并进行画图

    千次阅读 2020-04-20 16:40:06
     void Dialog::myfunction() { // 加载图片到窗口 QPixmap pix; QString pixFileName = QCoreApplication::applicationDirPath() + QString("test.jpg");//加载你自己的图片 pix.load(pixFileName ); pix = pix....
  • Qt显示网络图片

    千次阅读 2015-12-03 00:26:59
    Qt 版本:4.8.4 ,需要network模块  最下面有打包  思路:下载到本地,然后打开。  使用QPixmap保存图片文件, 用QFile保存 图片 你会失望的。 代码片段(4)[全屏查看所有代码] 1. ...
  • Qt界面加载网络摄像头,并实时显示,两种更新界面的方法 1、Qt界面加载网络摄像头,并实时显示,根据头文件中的宏定义来区分使用哪种方式。①Qt信号槽更新界面,②c语言回调方式更新界面 2、使用OpenCV、RTSP打开...
  • QT加载打印机功能

    千次阅读 2018-09-18 17:27:20
    还提供了控件,使用户可以从可用的打印机中进行选择,包括任何已配置的网络打印机。 通常, QPrintDialog 对象使用 QPrinter 对象构造,并使用 exec ()函数执行。 <span style="color:#404244"><span ...
  • 在最近的Qt相关项目开发中,有不同客户提出更改logo图片的需求,每次更换一张图片需要重新添加到.qrc资源文件,并重新编译源代码生产可执行文件,操作效率极低,频繁修改源代码也 容易引起其他不可靠问题,故想把...
  • 1、从硬盘上加载图片 void MainWindow::on_pushButton_clicked() { QPixmap pic; QString strPath = QDir::currentPath() + "/girl.jpg"; if (pic.load(strPath)) { ui->label->setPixmap(pic); } } ...
  • 异步任务加载网络图片
  • arcgis for qt我感觉应该是功能很强大,不过目前我也是在探索中。 大部分时候我们电脑不能连接到网络。所以只能使用离线地图,做离线地图首先你需要有一个tpk文件,就是地图切片,不知道的可以自己网上百度下。 直接...
  • qt QLabel 显示网络图片

    千次阅读 2015-04-09 10:27:38
    在网上试了很多代码都不能使用,自己写了写代码。 直接上代码 ... void QMusicLogo::setNetworkPic(const QString &szUrl) ... QObject::connect(reply, SIGNAL(finished()), &loop... // 你在QLabel显示图片 }
  • Qt之显示网络图片

    2016-03-01 16:07:00
    简述 Qt中包含了网络模块-network,我们可以很容易的进行各种网络编程和数据传输,关于...下面我们先看一个简单地示例:Qt显示一个网络图片。 简述 效果 源码 处理方式 效果 源码 创建按钮及显示...
  • 这个是源代码,源码的介绍请看: http://blog.csdn.net/i5suoi/article/details/19041399
  • 工程环境: QT5.9.1 & VS2015 工程的主要任务就是, 从QT界面发送HTTP请求,服务器做出响应。QT是通过 QNetworkAccessManager对请求和响应进行管理的。 大致QT界面如下(比较简单,没有美化): 1.建立工程...
  • qt实现本地\网络图片查看器

    千次阅读 2018-05-31 17:44:01
    突然想到以前做项目时,写了个简单的网络图片查看器,翻出来看看。。。。。功能太单一了,,鄙视自己。(于是花了一两个小时,将功能完善了一下,将他改装成了图片查看器) 什么是图片查看器?要实现那些功能?我这...
  • PyQt4加载网络图片

    2019-08-06 14:56:28
    #-*- coding:utf-8 -*- import sys from PyQt4.QtCore import * from PyQt4.QtGui import * import requests class graphicsView(QLabel): def __init__(self,parent=None): super(graph...
  • QLabel 加载图片并绘制矩形图案 发出起始和结束的坐标
  • image.load("D:/important documents/keep coding/Qt_nian_yf/2020_12_30_keyevent_new2/image/image.png"); 2、相对路径读取,如下所示 image.load("../2020_12_30_keyevent_new2/image/image.png"); 需要注意的...

空空如也

空空如也

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

qt加载网络图片