如何在QListWidget的QItemDelegate中绘制QPixmap时将其居中

时间:2012-03-08 08:12:14

标签: qt qpainter qlistwidget qpixmap qitemdelegate

我正在QListWidget的QItemDelegate中绘制一个QPixmap。每个QListWidgetItem具有不同的维度。在

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

QItemDelegate的功能,我想在QListWidgetItem中使用中心对齐绘制QPixmap。 option.rect()给出项目的几何形状,我可以用它计算中心位置并相应地绘制,但我想知道更好的方法来进行这种对齐。可以让一些人知道答案吗?

1 个答案:

答案 0 :(得分:1)

您知道QListWidgetItem的尺寸吗?如果是这样,只需使用以下内容绘制QPixmap:

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