0

QListWidgtet に追加して表示する画像の解像度を下げる必要があります。次のコードを使用しますが、フル解像度でロードされているため、すべての画像が表示されるわけではありません

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 は名前のみを追加します。

ご協力いただきありがとうございます

4

1 に答える 1