此山有金 2017-06-28 02:31 采纳率: 0%
浏览 2006

qt从文件中遍历图片并显示,遍历出来了图片名,但是只会显示最后一张图,大家帮我看看

QPixmap pixmap;
QDir dir("/home/yueshang/Picture/");
dir.setFilter(QDir::Files | QDir::NoSymLinks);
QString fileInfo;// file name
QFileInfoList list=dir.entryInfoList();//list information
for(int i=0;i<list.size();i++){

    QFileInfo fileinfo=list.at(i);//each file information
    fileInfo=fileinfo.fileName();//get file name

    qDebug()<<fileInfo;
    QString pathname="/home/yueshang/Picture/"+fileInfo;// path and file name
    QLabel *label=new QLabel;
    //label->setPixmap(pathname);
   // ui->viewlabel->addWidget(label);
    QFile picture(pathname);
    QByteArray pic_array;
    if(picture.open(QIODevice::ReadOnly)){
        pic_array=picture.readAll();
        //QPixmap pixmap;
        pixmap.loadFromData(pic_array);
        ui->viewlabel->setPixmap(pathname);
        picture.close();
    }

    //*******延时***********
     QTime n=QTime::currentTime();
     QTime now;
     do{
         now=QTime::currentTime();
     }while(n.msecsTo(now)<=200);
     //****************************
  • 写回答

1条回答 默认 最新

  • 一去丶二三里 C++ 领域优质创作者 2017-06-29 02:08
    关注

    你可以打印下 list 中的各个文件路径,界面显示看不出效果,有可能是因为延时的间隔问题,你调整到 1 秒试试!

    评论

报告相同问题?

悬赏问题

  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?