Мне нужно уменьшить разрешение изображений, которые я добавляю и показывать в QListWidgtet. Теперь я использую следующий код, но он не показывает все изображения, потому что они загружаются с полным разрешениемзагрузить миниатюру в QListWidget с уменьшенным разрешением
void ImagesWizard::on_pbAddImages_clicked()
{
QFileDialog dialog(this);
dialog.setDirectory(mInitPath);
dialog.setFileMode(QFileDialog::ExistingFiles);
dialog.setNameFilter(trUtf8("Images (*.jpg *.png *.tif *.tiff *.bmp);; JPG (*.jpg);; PNG (*.png);; TIF (*.tif *.tiff);; BMP (*.bmp);;"));
QStringList filesToLoad;
if (dialog.exec())
filesToLoad = dialog.selectedFiles();
if (filesToLoad.count()!=0) {
QListWidget *localPathList= new QListWidget();
localPathList->setViewMode(QListWidget::IconMode);
localPathList->setIconSize(QSize(100,100));
localPathList->setResizeMode(QListWidget::Adjust);
localPathList->setSelectionMode(QAbstractItemView::MultiSelection);
for (int var = 0; var < filesToLoad.count(); ++var) {
if (!mImagesList->contains(filesToLoad[var])) {
QFileInfo fileInfo(filesToLoad[var]);
QString filename(fileInfo.fileName());
QListWidgetItem *listItem = new QListWidgetItem(QIcon(filesToLoad[var]),filename);
localPathList->addItem(listItem);
mImagesList->append(filesToLoad[var]);
}
}
pbNext->setFocus();
}
}
Есть ли способ, чтобы изменить размер разрешения в о QIcon к optimice время, затрачиваемое на загрузку изображений и отображение всех добавленных изображений? Теперь, если я загружаю много изображений, последние QListWidgetItems добавляют только имя.
Спасибо за вашу помощь
Спасибо @UmNyobe. Он работает, и я могу показать все изображения, используя этот метод. Но время заряда все еще слишком велико. я попытаюсь запустить инструкцию «for» многопоточным способом. Спасибо за вашу помощь. –