QT打开图片文件夹快速播放图片

1. 打开文件夹

void MainWindow::open()
{
 
    QFileDialog* fd = new QFileDialog(this);
      fd->setWindowTitle(tr("Open Folder"));
      fd->setDirectory("./");
      fd->setFileMode( QFileDialog::DirectoryOnly );
      QStringList fileName;
      if ( fd->exec() == QDialog::Accepted )
      {
 
          fileName = fd->selectedFiles();
          picManger.addFolderImages(fileName.at(0));
          picPlayer.setFileList(picManger.getFileList());
          qDebug() << "....... playNext 3 time:"<< fileName.at(0);
      }
}

2.压缩保存新图片:图片太大加载慢所以要压缩(参考:http://blog.csdn.net/shado_walker/article/details/54023137

#include "picmanager.h"
#include <QStringList>
#include <QString>
#include <QList>
#include <QPixmap>
#include <QDebug>
#include <QDir>
#include <QFileDialog>
#include <QDateTime>
#include <QMutex>
#include <QFile>
 
PicManager::PicManager(QObject *parent) :
    QObject(parent)
{
 
}
 
QStringList PicManager::getFileList()
{
 
    return this->newFileList;
}
 
 
void PicManager::addFolderImages(QString path)
{
 
    //判断路径是否存在
    QDir dir(path);
    if(!dir.exists())
    {
 
        qDebug() << "....... addFolderImages !dir.exists() return  path:"<< path;
        return;
    }
 
    QString newDir = createNewDir(path);
    if(newDir == ""){
 
        qDebug() << "....... addFolderImages newDir:"<< newDir << "return";
        return;
    }
 
    addImgPaths2FileList(path);
    compressAndCopyImgs2NewPath(newDir);
}
 
void PicManager::compressAndCopyImgs2NewPath(QString newPath)
{
 
   newFileList.clear();
   foreach(QString str, fileList) {
 
        int index = str.lastIndexOf("/");
        QString fileName =  str.right(str.length()-index);
        QString desFilePath = newPath + fileName;
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值