Я хочу обновить свой проект с 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.8 это не так:
Но прямо сейчас я обнаружил, что маленький размер PNG может быть показан в 5.8.
Я не знаю в чем проблема. Может быть, размер или формат изображения?
В 5.7 это не повлияло на QListwidget
!
Я сделал эксперимент.
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 является основной проблемой.
Других решений пока нет …