-1

QListWidget の QItemDelegate 内で QPixmap をペイントしています。各 QListWidgetItem は異なる次元です。内部

void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) 

QItemDelegate の関数として、QListWidgetItem 内の中央揃えで QPixmap をペイントしたいと考えています。option.rect() は、中心位置を計算してそれに応じてペイントできるアイテムのジオメトリを提供しますが、この配置のより良いアプローチを知りたいです.誰かが私に答えを教えてもらえますか?

4

1 に答える 1

1

QListWidgetItem のサイズを知っていますか? その場合は、QPixmap を自分で次のようにペイントします。

painter->drawPixmap(
    (item->width() - pixmap->width()) / 2,
    (item->heigt() - pixmap->height()),
    pixmap
);
于 2012-03-08T11:04:37.060 に答える