1

ユーザーがアイコンファイルを追加できるリストウィジェットがあります。これらのファイルを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が長いベース名をトリミングしないのに、はるかに短いベース名をトリミングする理由はよくわかりません。

4

1 に答える 1

2

QListWidgetItem setSizeHint()勝利のために :)

于 2012-08-20T16:25:52.963 に答える