Qt 5.7 — & gt; 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!

0

Решение

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

    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 является основной проблемой.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]