Qt遍历指定文件夹下图片并显示

 

义文件夹路径i,筛选指定文件后缀,得到文件名的集合,鼠标点击在label上循环显示图片。

 .h文件

#ifndef WIDGET_H
#define WIDGET_H#include 
#include 
namespace Ui {
class Widget;
}class Widget : public QWidget
{Q_OBJECTpublic:explicit Widget(QWidget *parent = nullptr);~Widget();
private:QDir dir;int ImageCount;
protected:bool eventFilter(QObject *obj, QEvent *event);
private:Ui::Widget *ui;
};#endif // WIDGET_H

.cpp 文件

#include "widget.h"
#include "ui_widget.h"
#include 
Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget)
{ui->setupUi(this);QString  ImagePath = "./myPic";//文件夹路径dir.setPath(ImagePath);QStringList ImageList;ImageList << "*.bmp" << "*.jpg" << "*.png";//向字符串列表添加图片类型dir.setNameFilters(ImageList);//获得文件夹下图片的名字ImageCount = dir.count();//获得dir里名字的个数,也表示文件夹下图片的个数ui->label->installEventFilter(this);QString ImageName  = "./myPic/"+dir[0];QImage image(ImageName);ui->label->setPixmap(QPixmap::fromImage(image));this->setWindowFlags(Qt::FramelessWindowHint);
}Widget::~Widget()
{delete ui;
}bool Widget::eventFilter(QObject *obj, QEvent *event)
{if(obj==ui->label&&event->type()==QEvent::MouseButtonPress){static int flag=1;if(flag>ImageCount-1){flag=0;return 1;}QString ImageName  = "./myPic/"+dir[flag];QImage image(ImageName);ui->label->setPixmap(QPixmap::fromImage(image));++flag;return 1;}
}

xu'na'hun


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部