0
我需要減少我在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的分辨率工藝優化的消耗時間來加載圖像並顯示添加的所有圖像? 現在,如果我加載了很多圖像,最後一個QListWidgetItems只會添加名稱。
感謝您的幫助
謝謝@UmNyobe。它的工作原理,我可以使用這種方法顯示所有的圖像。但收費時間仍然過高。我將嘗試以多線程方式啓動「for」語句。謝謝你的幫助。 –