void MyplayerWidget::slot_open_pBtn_clicked() { QStringList fileNames = QFileDialog::getOpenFileNames(this,"获取音视频文件", "./", "*.jpg *.mp3 *.mp4 *.avi"); // m_MfileNameAndFilePath.clear(); for(int i = 0;i < fileNames.count();i++) { QStringList strSplitList = fileNames.at(i).split("/"); QString str; for(int j = 0;j < strSplitList.count();j++) { str = strSplitList.at(strSplitList.count()-1); } m_MfileNameAndFilePath.insert(str,fileNames.at(i)); QListWidgetItem *item = new QListWidgetItem(str); item->setSizeHint(ITEM_SIZE); ui->listWidget->insertItem(i,item); } }如何将这段带啊改成也能添加图片
时间: 2023-06-14 09:03:16 浏览: 200
戴尔笔记本修图图纸:Dell 5400 EDC41 LA-G891P
你可以在 `getOpenFileNames` 方法的第三个参数中加入支持的图片格式,例如:
```
QStringList fileNames = QFileDialog::getOpenFileNames(this,"获取音视频文件或图片", "./", "*.jpg *.jpeg *.png *.bmp *.mp3 *.mp4 *.avi");
```
同时,在 `for` 循环中,当文件类型是图片时,你可以使用 `QListWidget` 的 `QListWidgetItem` 中的 `setIcon` 方法来显示图片。例如:
```
for(int i = 0;i < fileNames.count();i++)
{
QStringList strSplitList = fileNames.at(i).split("/");
QString str;
for(int j = 0;j < strSplitList.count();j++)
{
str = strSplitList.at(strSplitList.count()-1);
}
m_MfileNameAndFilePath.insert(str,fileNames.at(i));
QListWidgetItem *item = new QListWidgetItem(str);
item->setSizeHint(ITEM_SIZE);
// Check if the file is an image
if (str.endsWith(".jpg") || str.endsWith(".jpeg") || str.endsWith(".png") || str.endsWith(".bmp"))
{
QPixmap pixmap(fileNames.at(i));
QIcon icon(pixmap);
item->setIcon(icon);
}
ui->listWidget->insertItem(i,item);
}
```
这样,当添加的文件是图片时,会在列表中显示图片缩略图。
阅读全文