问题
I'm painting a QPixmap inside the QItemDelegate of QListWidget. Each QListWidgetItem is of different dimensions. Inside the
void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index)
function of QItemDelegate, I want to paint QPixmap with center Alignment inside the QListWidgetItem. option.rect() gives the geometry of the item with which I can calculate the center position and paint accordingly, but I want to know the better approach for this alignment.Can some one let me know the answer?
回答1:
Do you know the dimensions of your QListWidgetItem? If so, just paint the QPixmap yourself with something like:
painter->drawPixmap(
(item->width() - pixmap->width()) / 2,
(item->heigt() - pixmap->height()),
pixmap
);
来源:https://stackoverflow.com/questions/9614586/how-to-center-qpixmap-while-painting-it-inside-qitemdelegate-of-qlistwidget