Как центрировать QPixmap при рисовании внутри QItemDelegate QListWidget - PullRequest
0 голосов
/ 08 марта 2012

Я рисую QPixmap внутри QItemDelegate QListWidget. Каждый QListWidgetItem имеет разные измерения. Внутри

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

функция QItemDelegate, я хочу нарисовать QPixmap с выравниванием по центру внутри QListWidgetItem. option.rect () дает геометрию элемента, с помощью которого я могу вычислить центральное положение и рисовать соответственно, но я хочу знать лучший подход для этого выравнивания. Может кто-нибудь дать мне знать ответ?

1 Ответ

1 голос
/ 08 марта 2012

Знаете ли вы размеры вашего QListWidgetItem?Если это так, просто нарисуйте QPixmap самостоятельно примерно так:

painter->drawPixmap(
    (item->width() - pixmap->width()) / 2,
    (item->heigt() - pixmap->height()),
    pixmap
);
...