0

プロジェクトを Qt 5.7 から Qt5.8 にアップグレードしたいと考えています。に画像を表示する機能がありますQListWidget

私のプロジェクトでは、ビューアが画像からサムネイルを作成し、それをQIcon. を作成した後、新しい を挿入してQIconに追加します。QListWidgetQListwidgetItem

5.7 ではうまくいきましたが、5.8 ではサムネイルが表示されません。

以下はコードです

QIconQListWidget:

QIcon tmpIcon(pathOfImage);

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

何がこれを実現させるのですか?どうすれば 5.8 に調整できますか?


  • 5.7では動作します:

    5.7で動作します!

  • 5.8 では、次のことは行われません。

    5.8で……


しかし、現在、5.8で小さいサイズのPNGを表示できることがわかりました。

何が問題なのかわからない。たぶん、画像のサイズまたは形式ですか?

QListwidget5.7 では!には影響しませんでした。

4

1 に答える 1

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 の間の設定プロセスが主な問題だと思います。

于 2017-05-19T13:19:05.307 に答える