ユーザーがアイコンファイルを追加できるリストウィジェットがあります。これらのファイルをlistwidget内にicon-itemsとして表示します(listwidgetのビューモードはIconModeです)。各アイテムにはテキストとしてベース名があります(たとえば、画像へのパスが/home/alex/Pictures/mypic.jpgの場合、対応するアイテムのテキストはmypic.jpgになります)。
各行に特定の数のアイテムを厳密に表示したいと思います。この問題は、ベース名が短い画像と非常に長い画像がある場合に発生します。次に、listwidget、設定したので
ui->listWidget->setUniformItemSizes(true);
特定のアイテムのベース名が非常に長いという理由だけで、1行に1つのアイテムを追加することを選択します。私がやりたいのは、各ベース名が長すぎて1行あたりのアイテム数が厳密な場合、各ベース名をトリミングすることです(listwidgetは特定のアイテムに対しては既に実行しますが、テキストが非常に長いアイテムに対しては実行しません)。
私の各アイテムは
item->setTextAlignment(Qt::AlignCenter);
問題を示すいくつかの写真があります:
私がどのようになりたいか、そしてベースネームが非常に短く、互いにあまり異ならない場合はどうであるか:
長いベース名と短いベース名の両方がある場合の問題は次のとおりです。
長いベース名も短くしたいです。listwidgetが長いベース名をトリミングしないのに、はるかに短いベース名をトリミングする理由はよくわかりません。