QListWidget显示文件夹内容,选择文件并显示文件夹下图片

这篇具有很好参考价值的文章主要介绍了QListWidget显示文件夹内容,选择文件并显示文件夹下图片。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

博主使用的编译器是Qt直接进行ui界面的设计。

先进行一下效果展示

20230328

这里使用了两个QListWidget,左边的用做显示文件信息,右边的做显示文件夹下的图片,这里的图片是保存的拍摄视频的第一帧,通过双击显示图片,点机打开视频可以查看视频。

qlistwidget,Qt,C/C++,qt,ui,开发语言

在构造中实现左边QListWidget遍历文件内容显示文件夹,将所有的文件夹信息获取打印在窗口中

//获取文件夹下所有文件夹并显示
    QStringList num;
    QString dirPath=("./shoot");
    QDir dir(dirPath);
    dirPath = dir.fromNativeSeparators(dirPath);//  "\\"转为"/"
    if (!dir.exists()) num = QStringList("");
    dir.setFilter(QDir::Dirs | QDir::NoDotAndDotDot);
    dir.setSorting(QDir::Name);
    num = dir.entryList();
    ui->listWidget_2->setViewMode(QListView::IconMode);
    ui->listWidget_2->addItems(num);
    //设置自动适应布局调整(Adjust适应,Fixed不适应),默认不适应
    ui->listWidget_2->setResizeMode(QListWidget::Adjust);
    //设置不能移动
    ui->listWidget_2->setMovement(QListWidget::Static);
    //竖向滚动条
    ui->listWidget_2->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);

访问的文件夹下的内容

qlistwidget,Qt,C/C++,qt,ui,开发语言

实现的效果:

qlistwidget,Qt,C/C++,qt,ui,开发语言

显示文件夹下的图片这个功能,这里是增加了一个按钮作为响应的,通过信号和槽函数使另一个QListWidget显示图片,当然也可以直接使用QListWidget里是函数直接做跳转。

这里的按钮函数逻辑是:清空窗口,获取选中的成员信息,访问该成员文件夹下内容,遍历所有的图片文件,保存到容器中,在显示容器中内容。

void playback::on_pushButton_3_clicked()
{
    //每次点击将listwidget清空
    int counter =ui->listWidget->count();
    for(int index=0;index<counter;index++)
    {
        QListWidgetItem *item = ui->listWidget->takeItem(0);
        delete item;
    }
    QString arr=ui->listWidget_2->currentItem()->text();
    QDir * imagePath=new QDir("./shoot/"+arr);
    QStringList filter;
    filter << "*.jpg"<< "*.png"  ;
    QList<QFileInfo> *fileInfo=new QList<QFileInfo>(imagePath->entryInfoList(filter));
    int imageSum = fileInfo->count();
    QList<QString>  fileNames;
    fileNames.clear();
    if(imageSum == 0)
    {
        return;
    }
    for(int i=0;i<imageSum;i++)
    {
        fileNames.append(fileInfo->at(i).filePath());
    }
    for(auto tmp : fileNames)
    {
        ui->listWidget->addItem(new QListWidgetItem(QIcon(tmp),tmp));
    }
}

文件夹下内容:

qlistwidget,Qt,C/C++,qt,ui,开发语言

 其中avi文件为视频文件,图片是保存的视频第一帧,窗口中也显示的是第一帧图片,通过图片获取视频打开播放。

显示效果文件夹下的图片文件只有两个因此只显示了两个成员:qlistwidget,Qt,C/C++,qt,ui,开发语言

 在这个窗口通过双击成员可以查看图片,效果:

qlistwidget,Qt,C/C++,qt,ui,开发语言

 这里就是用QListWidget中的函数响应:(窗口是我自己定义的类)

void playback::on_listWidget_itemDoubleClicked(QListWidgetItem *item)
{
    QString arr=ui->listWidget->currentItem()->text();
    String str=arr.toStdString();
    a.ps(str);
    this->hide();
    a.show();
}

 上面的打开视频按钮就可以查看视频了,并且可以进行快进慢放等常规功能。

qlistwidget,Qt,C/C++,qt,ui,开发语言

 本期文章就到这了下期见了!!!文章来源地址https://www.toymoban.com/news/detail-703955.html

到了这里,关于QListWidget显示文件夹内容,选择文件并显示文件夹下图片的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【PyQt小知识 - 8】:QFileDialog — 文件选择对话框(选择文件夹/文件)

    QFileDialog是Qt框架中提供的一个文件选择对话框。它可以让用户通过图形界面的方式选择文件或目录,并提供了许多与文件操作相关的实用功能,例如文件过滤、文件类型限制、文件名默认值、默认目录等。 它具有以下常用的静态方法: getOpenFileName() :选择单个文件打开,返

    2024年02月02日
    浏览(51)
  • winform 使用CommonOpenFileDialog选择文件夹或文件

    选择文件夹 选择文件 注:需要添加引用 using Microsoft.WindowsAPICodePack.Dialogs; 一、C#通过CommonOpenFileDialog创建文件夹更美观 二、通过nuGet加载dll 首先,打开VS2019,通过菜单栏中的“工具”菜单  然后搜索 WindowsAPICodePack,完成安装。

    2024年02月13日
    浏览(37)
  • Unity C# 打开windows对话框选择文件夹或选择文件

    unity没有提供打开windows对话框的api,在开发种也会遇到选择系统文件夹或选择系统文件的需求

    2024年04月26日
    浏览(46)
  • MATLAB自动读取文件夹中的所有文件,并处理文件内容

    1.实现matlab自动读取某文件夹内的所有同类型文件; 2.实现处理读取到的文件内容,本文实现找出文件中数据最大值以及最大值的位置; 3.实现将找出的数据最大值以及最大值的位置自动写入txt文件中,本文是存放在fengzhi.txt文件中; 4.因我需要读取的文件数量相当大,为了减

    2024年02月15日
    浏览(46)
  • qt通过QFileDialog获取文件路径&保存文件&选择文件夹

            QT是一款常用的UI设计工具, 我们在日常开发中经常需要对文件或者文件夹进行操作,下面将介绍QT对于获取文件路径保存文件选择文件夹等场景的获取的伪代码.  注:适用于各语言的QT,比如python的pyQT之类的 保存文件: 根据指定文件夹找对应文件: 另存为:

    2024年02月06日
    浏览(56)
  • linux 再文件夹目录下,批量替换文件名、文件内容字符串

    基本使用命令 具体使用命令方法 1.替换文件内容 搜索当前目录下所有.DTA文件,并将文件中字符串\\\"string1\\\",替换为\\\"string2\\\" 2.替换文件名 搜索当前目录下所有.DTA文件,并将文件名中字符串\\\"string1\\\"替换为\\\"string2\\\". 3.批量替换文件内容 该目录及子目录下所有文件,将文件中所有的字符

    2024年02月16日
    浏览(57)
  • 安装TortoiseGit后桌面文件夹和用户文件夹中显示红色叹号

    ✨ TortoiseGit作为一个很好用的git图形化工具,能够很方便的进行版本控制。但在安装这个软件之后就遇到了一个问题。 👀问题描述:我们知道,安装TortoiseGit之后,当自己版本库中文件发生更改,但还没有提交到受控库时,文件就会显示一个红色的叹号,但自己的桌面文件夹

    2023年04月20日
    浏览(50)
  • 用python实现检查一个文件夹中所有word文件内容是否重复

    要检查一个文件夹中所有Word文件的内容是否重复,你可以使用Python的 python-docx 库来读取Word文件的内容,并使用Python的集合数据结构来检查重复项。 以下是一个示例代码,演示如何实现这个功能: python复制代码 import os from docx import Document def get_word_files(directory): \\\"\\\"\\\"获取指定目

    2024年01月23日
    浏览(69)
  • Mac显示隐藏文件夹

       

    2024年02月14日
    浏览(62)
  • Typora 隐藏侧边栏图片文件夹

    在使用 Typora 的时候,我将图片的保存路径设置为了如下所示: 这样设置是为了更方便的管理笔记中的图片,但图片文件夹却也显示在了侧边栏中,随着笔记增多,我的侧边栏越来越乱... 难道要忍气吞声吗?那必不可能,在经过长时间的寻找,终于有了解决办法! 参考这篇

    2023年04月26日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包