Qt 5.7 -> 5.8 добавить QIcon в QListwidget

Я хочу обновить свой проект с Qt 5.7 до Qt5.8. У меня есть функция, которая показывает изображение на QListWidget,

Мой проект, зритель делает миниатюру из изображения и преобразует его в QIcon, После создания QIcon это добавлено к QListWidget вставив новый QListwidgetItem,

В 5.7 это работало хорошо, но в 5.8 миниатюры не отображаются.

Ниже приведены коды

QIcon в QListWidget:

QIcon tmpIcon(pathOfImage);

ui.listWidget->addItem(new QListWidgetItem(tmpIcon, pathOfImage));

Что делает это возможным? Как я могу настроить на 5,8?


  • В 5.7 работает:

    В 5.7 все работает

  • В 5.8 это не так:

    В 5.8


Но прямо сейчас я обнаружил, что маленький размер PNG может быть показан в 5.8.

Я не знаю в чем проблема. Может быть, размер или формат изображения?

В 5.7 это не повлияло на QListwidget!

1 ответ

Я сделал эксперимент.

    QListWidgetItem* newItem = new QListWidgetItem();
    newItem->setIcon(tmpIcon);
    newItem->setText(pathOfImage);

после этого я попытался получить значок newItem(QListWIdgetItem) и сохранил его в png.

   QIcon te2 = newItem->icon();
   QPixmap test = te2.pixmap(te2.actualSize(QSize(1024, 1024)));
   QFile file1(te + "yourFile.png");
   file1.open(QIODevice::WriteOnly);
   test.save(&file1, "PNG");

Обычные файлы JPG не могут быть сохранены, но только маленький файл PNG логотипа может быть сохранен правильно. Я думаю, что заданный процесс между QIcon и QListWitgetItem является основной проблемой.

Другие вопросы по тегам