我正在QListWidget的QItemDelegate中绘制一个QPixmap。每个QListWidgetItem具有不同的维度。在
里面void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index)
QItemDelegate的功能,我想在QListWidgetItem中使用中心对齐绘制QPixmap。 option.rect()给出项目的几何形状,我可以用它计算中心位置并相应地绘制,但我想知道更好的方法来进行这种对齐。可以让一些人知道答案吗?
答案 0 :(得分:1)
您知道QListWidgetItem的尺寸吗?如果是这样,只需使用以下内容绘制QPixmap:
painter->drawPixmap(
(item->width() - pixmap->width()) / 2,
(item->heigt() - pixmap->height()),
pixmap
);