Qt封装网路图片加载显示类
一个基于Qt框架的C++类,用于在一个窗口中显示一张图片,并在加载图片时显示loading效果。以下是对代码的详细解释和注释:
#ifndef IMAGEWITHLOADINGWIDGET_H
#define IMAGEWITHLOADINGWIDGET_H
#include <QtWidgets>
#include <QNetworkAccessManager>
#include <QNetworkReply>
#include <QPixmap>
#include <QVBoxLayout>
#include <QMovie>
#include <QLabel>
class ImageWithLoadingWidget : public QWidget
{
Q_OBJECT
public:
ImageWithLoadingWidget(QWidget *parent = nullptr) : QWidget(parent)
{
// 创建布局和控件
layout = new QVBoxLayout(this);
label = new QLabel(this);
loadingLabel = new QLabel(this);
// 创建一个QMovie来显示loading效果(使用.gif文件)
loadingMovie = new QMovie(":/res/loading.gif");
loadingLabel->setMovie(loadingMovie);
// 创建进度条
progressBar = new QProgressBar(this);
progressBar->setRange(0, 100);
progressBar->setValue(0);
// 将控件添加到布局中
la