博主使用的编译器是Qt直接进行ui界面的设计。
先进行一下效果展示
20230328
这里使用了两个QListWidget,左边的用做显示文件信息,右边的做显示文件夹下的图片,这里的图片是保存的拍摄视频的第一帧,通过双击显示图片,点机打开视频可以查看视频。
在构造中实现左边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显示图片,当然也可以直接使用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));
}
}
文件夹下内容:
其中avi文件为视频文件,图片是保存的视频第一帧,窗口中也显示的是第一帧图片,通过图片获取视频打开播放。
显示效果文件夹下的图片文件只有两个因此只显示了两个成员:
在这个窗口通过双击成员可以查看图片,效果:
这里就是用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();
}
上面的打开视频按钮就可以查看视频了,并且可以进行快进慢放等常规功能。
文章来源:https://www.toymoban.com/news/detail-703955.html
本期文章就到这了下期见了!!!文章来源地址https://www.toymoban.com/news/detail-703955.html
到了这里,关于QListWidget显示文件夹内容,选择文件并显示文件夹下图片的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!